]> granicus.if.org Git - php/commitdiff
- Add missing check
authorFelipe Pena <felipe@php.net>
Sun, 14 Nov 2010 01:38:52 +0000 (01:38 +0000)
committerFelipe Pena <felipe@php.net>
Sun, 14 Nov 2010 01:38:52 +0000 (01:38 +0000)
Zend/zend_constants.c

index 22b31fec870387f10f422f137899822ee413cac7..2a65c9f05a6a0a30d959de1c57c8352c05bd2af4 100644 (file)
@@ -479,7 +479,8 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC)
                || zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) {
                
                /* The internal __COMPILER_HALT_OFFSET__ is prefixed by NULL byte */
-               if (memcmp(name, "\0__COMPILER_HALT_OFFSET__", sizeof("\0__COMPILER_HALT_OFFSET__")) == 0) {
+               if (c->name[0] == '\0' && c->name_len > sizeof("\0__COMPILER_HALT_OFFSET__")
+                       && memcmp(name, "\0__COMPILER_HALT_OFFSET__", sizeof("\0__COMPILER_HALT_OFFSET__")) == 0) {
                        name++;
                }
                zend_error(E_NOTICE,"Constant %s already defined", name);