BUG 9180 Error unserializing APP_DATA with null value

Error
-----
Error unserializing APP_DATA with null value

Solution
--------
Verify if the APP_DATA contains serialized NULL before trying to unserialize
The APP_DATA with NULL serialized = "N;" is generated with the function PMFNewCaseImpersonate
This commit is contained in:
Herbert Saal Gutierrez
2012-06-26 10:49:07 -04:00
parent c3c11adc3f
commit dac87f1d8c
2 changed files with 22 additions and 4 deletions

View File

@@ -1,7 +1,25 @@
<?php <?php
/** /**
* cron_single.php *
* @package workflow-engine-bin * ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2012 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 5304 Ventura Drive,
* Delray Beach, FL, 33484, USA, or email info@colosa.com.
*
*/ */
// check script parameters // check script parameters
@@ -199,7 +217,7 @@ if (! defined ('SYS_SYS')) {
} }
catch (Exception $e) { catch (Exception $e) {
echo $e->getMessage (); echo $e->getMessage ();
eprintln ("Probelm in workspace: " . $sObject . ' it was omitted.', 'red'); eprintln ("Problem in workspace: " . $sObject . ' it was omitted.', 'red');
} }
eprintln (); eprintln ();
unlink (PATH_CORE . 'config/_databases_.php'); unlink (PATH_CORE . 'config/_databases_.php');

View File

@@ -1277,7 +1277,7 @@ class AppSolr
} }
// get the serialized fields // get the serialized fields
if (! empty ($documentData ['APP_DATA'])) { if (! empty ($documentData ['APP_DATA']) && $documentData ['APP_DATA'] != "N;" ) {
$UnSerializedCaseData = unserialize ($documentData ['APP_DATA']); $UnSerializedCaseData = unserialize ($documentData ['APP_DATA']);