]> granicus.if.org Git - php/commitdiff
Introduced additional check. Its miss might be the reason of bug #70392 (SIGSEGV...
authorDmitry Stogov <dmitry@zend.com>
Wed, 2 Sep 2015 10:05:12 +0000 (13:05 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 2 Sep 2015 10:05:12 +0000 (13:05 +0300)
Zend/zend_alloc.c

index 78845e6cacd3bf8bfb35826c99fd3bb82f5088a3..ced3a77d70da5f55f0724b8d7371ac4bc480c426 100644 (file)
@@ -964,7 +964,7 @@ static void *zend_mm_alloc_pages(zend_mm_heap *heap, int pages_count ZEND_FILE_L
                                /* skip free blocks */
                                while (tmp == 0) {
                                        i += ZEND_MM_BITSET_LEN;
-                                       if (i >= free_tail) {
+                                       if (i >= free_tail || i == ZEND_MM_PAGES) {
                                                len = ZEND_MM_PAGES - page_num;
                                                if (len >= pages_count && len < best_len) {
                                                        chunk->free_tail = page_num + pages_count;