]> granicus.if.org Git - php/commitdiff
Fixed compound name resolution
authorDmitry Stogov <dmitry@zend.com>
Fri, 21 Feb 2014 14:55:04 +0000 (18:55 +0400)
committerDmitry Stogov <dmitry@zend.com>
Fri, 21 Feb 2014 14:55:04 +0000 (18:55 +0400)
Zend/zend_compile.c

index 72d495dd1a5c9b4fbf7760e7478f95fed774c56e..c8c7b90adb92b3836744d0d9e189e64cd9111f63 100644 (file)
@@ -7144,7 +7144,7 @@ void zend_do_use(znode *ns_name, znode *new_name, int is_global TSRMLS_DC) /* {{
 
                zend_str_tolower_copy(c_ns_name->val, Z_STRVAL(CG(current_namespace)), Z_STRLEN(CG(current_namespace)));
                c_ns_name->val[Z_STRLEN(CG(current_namespace))] = '\\';
-               memcpy(c_ns_name->val+Z_STRLEN(CG(current_namespace))+1, lcname, Z_STRLEN_P(name)+1);
+               memcpy(c_ns_name->val+Z_STRLEN(CG(current_namespace))+1, lcname->val, Z_STRLEN_P(name)+1);
                if (zend_hash_exists(CG(class_table), c_ns_name)) {
                        char *tmp2 = zend_str_tolower_dup(Z_STRVAL(ns), Z_STRLEN(ns));
 
@@ -7176,7 +7176,7 @@ void zend_do_use(znode *ns_name, znode *new_name, int is_global TSRMLS_DC) /* {{
                }
                zend_error(E_WARNING, "The use statement with non-compound name '%s' has no effect", Z_STRVAL_P(name));
        }
-       efree(lcname);
+       STR_RELEASE(lcname);
        zval_dtor(name);
 }
 /* }}} */