From: Anatol Belski Date: Mon, 15 Sep 2014 09:59:48 +0000 (+0200) Subject: fix unsigned negation X-Git-Tag: PRE_NATIVE_TLS_MERGE~158^2~85^2~26 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e09d782efae9c22a81b9c46f0243c0d1e13771d;p=php fix unsigned negation --- diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index 8c9607fcff..9604079a9e 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -163,7 +163,7 @@ ZEND_API zend_ast *zend_ast_create_list(uint32_t init_children, zend_ast_kind ki } static inline zend_bool is_power_of_two(uint32_t n) { - return n == (n & -n); + return ((n != 0) && (n == (n & (~n + 1)))); } ZEND_API zend_ast *zend_ast_list_add(zend_ast *ast, zend_ast *op) {