summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/incomplete_class.c5
-rw-r--r--ext/standard/php_incomplete_class.h2
-rw-r--r--ext/standard/var_unserializer.re8
3 files changed, 7 insertions, 8 deletions
diff --git a/ext/standard/incomplete_class.c b/ext/standard/incomplete_class.c
index 2c847fd4fe..1824d52f44 100644
--- a/ext/standard/incomplete_class.c
+++ b/ext/standard/incomplete_class.c
@@ -142,12 +142,11 @@ PHPAPI zend_string *php_lookup_class_name(zend_object *object)
/* }}} */
/* {{{ php_store_class_name */
-PHPAPI void php_store_class_name(zval *object, const char *name, size_t len)
+PHPAPI void php_store_class_name(zval *object, zend_string *name)
{
zval val;
-
- ZVAL_STRINGL(&val, name, len);
+ ZVAL_STR_COPY(&val, name);
zend_hash_str_update(Z_OBJPROP_P(object), MAGIC_MEMBER, sizeof(MAGIC_MEMBER)-1, &val);
}
/* }}} */
diff --git a/ext/standard/php_incomplete_class.h b/ext/standard/php_incomplete_class.h
index c2cda0d6f0..f36fd43cfc 100644
--- a/ext/standard/php_incomplete_class.h
+++ b/ext/standard/php_incomplete_class.h
@@ -51,7 +51,7 @@ extern "C" {
PHPAPI void php_register_incomplete_class(void);
PHPAPI zend_string *php_lookup_class_name(zend_object *object);
-PHPAPI void php_store_class_name(zval *object, const char *name, size_t len);
+PHPAPI void php_store_class_name(zval *object, zend_string *name);
#ifdef __cplusplus
};
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index e7a48d4d8e..928cf29392 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -1013,7 +1013,7 @@ use_double:
}
object ":" uiv ":" ["] {
- size_t len, len2, len3, maxlen;
+ size_t len, len3, maxlen;
zend_long elements;
char *str;
zend_string *class_name;
@@ -1031,7 +1031,7 @@ object ":" uiv ":" ["] {
custom_object = 1;
}
- len2 = len = parse_uiv(start + 2);
+ len = parse_uiv(start + 2);
maxlen = max - YYCURSOR;
if (maxlen < len || len == 0) {
*p = start + 2;
@@ -1143,7 +1143,7 @@ object ":" uiv ":" ["] {
ret = object_custom(UNSERIALIZE_PASSTHRU, ce);
if (ret && incomplete_class) {
- php_store_class_name(rval, ZSTR_VAL(class_name), len2);
+ php_store_class_name(rval, class_name);
}
zend_string_release_ex(class_name, 0);
return ret;
@@ -1181,7 +1181,7 @@ object ":" uiv ":" ["] {
}
if (incomplete_class) {
- php_store_class_name(rval, ZSTR_VAL(class_name), len2);
+ php_store_class_name(rval, class_name);
}
zend_string_release_ex(class_name, 0);