From: Dmitry Stogov Date: Mon, 6 Mar 2017 14:09:05 +0000 (+0300) Subject: Ensure pointer alignment. X-Git-Tag: php-7.1.4RC1~53 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b273a8cbe44cf9ec13c6201c53eb52b9a66cc93b;p=php Ensure pointer alignment. --- diff --git a/ext/opcache/Optimizer/zend_worklist.h b/ext/opcache/Optimizer/zend_worklist.h index 332dbdeefc..73c0bca854 100644 --- a/ext/opcache/Optimizer/zend_worklist.h +++ b/ext/opcache/Optimizer/zend_worklist.h @@ -77,10 +77,10 @@ typedef struct _zend_worklist { } zend_worklist; #define ZEND_WORKLIST_ALLOCA(w, _len, use_heap) do { \ - (w)->stack.buf = (int*)do_alloca(sizeof(int) * _len + sizeof(zend_ulong) * zend_bitset_len(_len), use_heap); \ + (w)->stack.buf = (int*)do_alloca(ZEND_MM_ALIGNED_SIZE(sizeof(int) * _len) + sizeof(zend_ulong) * zend_bitset_len(_len), use_heap); \ (w)->stack.len = 0; \ (w)->stack.capacity = _len; \ - (w)->visited = (zend_bitset)((w)->stack.buf + _len); \ + (w)->visited = (zend_bitset)((char*)(w)->stack.buf + ZEND_MM_ALIGNED_SIZE(sizeof(int) * _len)); \ memset((w)->visited, 0, sizeof(zend_ulong) * zend_bitset_len(_len)); \ } while (0)