]> granicus.if.org Git - php/commitdiff
Fixed improper memory release
authorDmitry Stogov <dmitry@zend.com>
Tue, 2 Dec 2014 13:29:13 +0000 (16:29 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 2 Dec 2014 13:29:13 +0000 (16:29 +0300)
Zend/zend_alloc.c

index 8689ee8829f4335f3969ecbced0098c33e2da2ca..a1af2fcc7fb3c84503b0c0d19e79b7bcf488a2e5 100644 (file)
@@ -764,7 +764,9 @@ static void *zend_mm_chunk_alloc_int(size_t size, size_t alignment)
                        offset = alignment - offset;
                        zend_mm_munmap(ptr, offset);
                        ptr = (char*)ptr + offset;
-               } else {
+                       alignment -= offset;
+               }
+               if (alignment > REAL_PAGE_SIZE) {
                        zend_mm_munmap((char*)ptr + size, alignment - REAL_PAGE_SIZE);
                }
 # ifdef MADV_HUGEPAGE