diff options
| -rw-r--r-- | Zend/zend_alloc.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index 22963d87b3..a6abbba650 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -709,12 +709,14 @@ static inline unsigned int zend_mm_low_bit(size_t _size) unsigned int n; unsigned int index = 0; - do { - n = offset[_size & 15]; + n = offset[_size & 15]; + while (n == 4) { _size >>= 4; index += n; - } while (n == 4); - return index; + n = offset[_size & 15]; + } + + return index + n; #endif } |
