@@ -1201,22 +1201,17 @@ object ":" uiv ":" ["] {
1201
1201
/* Try to find class directly */
1202
1202
BG (serialize_lock)++;
1203
1203
ce = zend_lookup_class_ex (class_name, lc_name, 0 );
1204
- zend_string_release_ex (lc_name, 0 );
1205
- if (ce) {
1206
- BG (serialize_lock)--;
1207
- if (EG (exception)) {
1208
- zend_string_release_ex (class_name, 0 );
1209
- return 0 ;
1210
- }
1211
- break ;
1212
- }
1213
1204
BG (serialize_lock)--;
1214
-
1205
+ zend_string_release_ex (lc_name, 0 );
1215
1206
if (EG (exception)) {
1216
1207
zend_string_release_ex (class_name, 0 );
1217
1208
return 0 ;
1218
1209
}
1219
1210
1211
+ if (ce) {
1212
+ break ;
1213
+ }
1214
+
1220
1215
/* Check for unserialize callback */
1221
1216
if ((PG (unserialize_callback_func) == NULL ) || (PG (unserialize_callback_func)[0 ] == ' \0 ' )) {
1222
1217
incomplete_class = 1 ;
@@ -1227,29 +1222,15 @@ object ":" uiv ":" ["] {
1227
1222
/* Call unserialize callback */
1228
1223
ZVAL_STRING (&user_func, PG (unserialize_callback_func));
1229
1224
1230
- ZVAL_STR_COPY (&args[0 ], class_name);
1225
+ ZVAL_STR (&args[0 ], class_name);
1231
1226
BG (serialize_lock)++;
1232
- if (call_user_function (NULL , NULL , &user_func, &retval, 1 , args) != SUCCESS) {
1233
- BG (serialize_lock)--;
1234
- if (EG (exception)) {
1235
- zend_string_release_ex (class_name, 0 );
1236
- zval_ptr_dtor (&user_func);
1237
- zval_ptr_dtor (&args[0 ]);
1238
- return 0 ;
1239
- }
1240
- php_error_docref (NULL , E_WARNING, " defined (%s) but not found" , Z_STRVAL (user_func));
1241
- incomplete_class = 1 ;
1242
- ce = PHP_IC_ENTRY;
1243
- zval_ptr_dtor (&user_func);
1244
- zval_ptr_dtor (&args[0 ]);
1245
- break ;
1246
- }
1227
+ call_user_function (NULL , NULL , &user_func, &retval, 1 , args);
1247
1228
BG (serialize_lock)--;
1248
1229
zval_ptr_dtor (&retval);
1230
+
1249
1231
if (EG (exception)) {
1250
1232
zend_string_release_ex (class_name, 0 );
1251
1233
zval_ptr_dtor (&user_func);
1252
- zval_ptr_dtor (&args[0 ]);
1253
1234
return 0 ;
1254
1235
}
1255
1236
0 commit comments