diff options
-rw-r--r-- | Zend/zend_constants.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index f81eaceb68..eab7d3dfbd 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -244,10 +244,11 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC) printf("Registering constant for module %d\n", c->module_number); #endif - lowercase_name = do_alloca(c->name_len + 1); + /* keep in mind that c->name_len already contains the '\0' */ + lowercase_name = do_alloca(c->name_len); if (!(c->flags & CONST_CS)) { - zend_str_tolower_copy(lowercase_name, c->name, c->name_len); + zend_str_tolower_copy(lowercase_name, c->name, c->name_len - 1); } else { memcpy(lowercase_name, c->name, c->name_len); lowercase_name[c->name_len] = '\0'; |