dmitry Fri Dec 8 12:47:58 2006 UTC
Modified files:
/ZendEngine2 zend_alloc.c
Log:
Fixed possible failure
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.c?r1=1.172&r2=1.173&diff_format=u
Index: ZendEngine2/zend_alloc.c
diff -u ZendEngine2/zend_alloc.c:1.172 ZendEngine2/zend_alloc.c:1.173
--- ZendEngine2/zend_alloc.c:1.172 Mon Dec 4 16:30:59 2006
+++ ZendEngine2/zend_alloc.c Fri Dec 8 12:47:58 2006
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_alloc.c,v 1.172 2006/12/04 16:30:59 dmitry Exp $ */
+/* $Id: zend_alloc.c,v 1.173 2006/12/08 12:47:58 dmitry Exp $ */
#include "zend.h"
#include "zend_alloc.h"
@@ -557,15 +557,14 @@
while (mm_block) {
size_t size = ZEND_MM_BLOCK_SIZE(mm_block);
zend_mm_free_block *q =
mm_block->prev_free_block;
- zend_mm_block *prev_block =
ZEND_MM_PREV_BLOCK(mm_block);
zend_mm_block *next_block =
ZEND_MM_NEXT_BLOCK(mm_block);
heap->cached -= size;
- if (ZEND_MM_IS_FREE_BLOCK(prev_block)) {
- size +=
ZEND_MM_FREE_BLOCK_SIZE(prev_block);
- mm_block =
(zend_mm_free_block*)prev_block;
- zend_mm_remove_from_free_list(heap,
(zend_mm_free_block *) prev_block);
+ if (ZEND_MM_PREV_BLOCK_IS_FREE(mm_block)) {
+ mm_block =
(zend_mm_free_block*)ZEND_MM_PREV_BLOCK(mm_block);
+ size +=
ZEND_MM_FREE_BLOCK_SIZE(mm_block);
+ zend_mm_remove_from_free_list(heap,
(zend_mm_free_block *) mm_block);
}
if (ZEND_MM_IS_FREE_BLOCK(next_block)) {
size +=
ZEND_MM_FREE_BLOCK_SIZE(next_block);
--
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
|