|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-09-07 15:38 UTC] tony2001@php.net
[2005-09-15 01:00 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 17:00:01 2025 UTC |
Description: ------------ fix Segmentation fault Reproduce code: --------------- --- zend_alloc.c.orig 2005-08-23 22:11:22.000000000 +0400 +++ zend_alloc.c 2005-09-04 16:57:33.000000000 +0400 @@ -103,7 +103,8 @@ #define REMOVE_POINTER_FROM_LIST(p) \ if (p==AG(head)) { \ AG(head) = p->pNext; \ - } else { \ + } else { \ + if(p->pLast) \ p->pLast->pNext = p->pNext; \ } \ if (p->pNext) { \ @@ -248,6 +249,10 @@ ZEND_API void _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) { zend_mem_header *p = (zend_mem_header *) ((char *)ptr - sizeof(zend_mem_header) - MEM_HEADER _PADDING); + + if(!ptr) + return; + DECLARE_CACHE_VARS(); TSRMLS_FETCH();