Changeset 289
- Timestamp:
- 02/13/07 15:57:18 (1 year ago)
- Files:
-
- eaccelerator/trunk/ChangeLog (modified) (1 diff)
- eaccelerator/trunk/ea_restore.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
eaccelerator/trunk/ChangeLog
r288 r289 3 3 * Added a function to dump an eaccelerator class entry in debug.c 4 4 * Changed include order in mm.c because of eaccelerator.h include in debug.h 5 * Fixed a nullpointer dereference in some special cases in ea_restore.c:509 5 6 6 7 2007-01-29 Bart Vanbrabant <bart.vanbrabant at zoeloelip.be> eaccelerator/trunk/ea_restore.c
r286 r289 500 500 char *from_scope_lc = zend_str_tolower_dup(from->scope_name, from->scope_name_len); 501 501 scope.v = to->scope; 502 if (zend_hash_find (CG(class_table), (void *) from_scope_lc, from->scope_name_len + 1, &scope.ptr) != SUCCESS) { 503 DBG(ea_debug_pad, (EA_DEBUG TSRMLS_CC)); 504 DBG(ea_debug_printf, (EA_DEBUG, "[%d] can't find '%s' in class_table. use EAG(class_entry).\n", getpid(), from->scope_name)); 505 to->scope = EAG(class_entry); 506 } else { 502 if (zend_hash_find (CG(class_table), (void *) from_scope_lc, from->scope_name_len + 1, &scope.ptr) == SUCCESS && 503 to->scope != NULL) { 507 504 DBG(ea_debug_pad, (EA_DEBUG TSRMLS_CC)); 508 505 DBG(ea_debug_printf, (EA_DEBUG, "[%d] found '%s' in hash\n", getpid(), from->scope_name)); 506 DBG(ea_debug_printf, (EA_DEBUG, "name=%s :: to->scope is 0x%x", to->function_name, (unsigned int) to->scope)); 509 507 to->scope = *(zend_class_entry **) to->scope; 510 } 508 } else { 509 DBG(ea_debug_pad, (EA_DEBUG TSRMLS_CC)); 510 DBG(ea_debug_printf, (EA_DEBUG, "[%d] can't find '%s' in class_table. use EAG(class_entry).\n", getpid(), from->scope_name)); 511 to->scope = EAG(class_entry); 512 } 511 513 efree(from_scope_lc); 512 } else { // zoeloelip: is this needed? scope is always stored -> hra: no its not :P only if from->scope!=null in ea_store513 DBG(ea_debug_pad, (EA_DEBUG TSRMLS_CC));514 } else { 515 DBG(ea_debug_pad, (EA_DEBUG TSRMLS_CC)); 514 516 DBG(ea_debug_printf, (EA_DEBUG, "[%d] from is NULL\n", getpid())); 515 517 if (EAG(class_entry)) {