cvs: Zend(PHP_4_3) / zend_execute.c
| From: | Zeev Suraski | Date: | Thu, 24 Jul 2003 08:40:24 +0000 |
| Subject: | cvs: Zend(PHP_4_3) / zend_execute.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-1522@lists.php.net to get a copy of this message | ||
zeev Thu Jul 24 04:40:24 2003 EDT
Modified files: (Branch: PHP_4_3)
/Zend zend_execute.c
Log:
MFH fix for binary safety in foreach() keys
Index: Zend/zend_execute.c
diff -u Zend/zend_execute.c:1.316.2.15 Zend/zend_execute.c:1.316.2.16
--- Zend/zend_execute.c:1.316.2.15 Mon Jul 21 09:53:04 2003
+++ Zend/zend_execute.c Thu Jul 24 04:40:24 2003
@@ -2321,6 +2321,7 @@
zval *result = &EX(Ts)[EX(opline)->result.u.var].tmp_var;
zval **value, *key;
char *str_key;
+ uint str_key_len;
ulong int_key;
HashTable *fe_ht;
@@ -2344,10 +2345,10 @@
ALLOC_ZVAL(key);
INIT_PZVAL(key);
- switch (zend_hash_get_current_key(fe_ht, &str_key, &int_key, 1)) {
+ switch (zend_hash_get_current_key_ex(fe_ht, &str_key, &str_key_len, &int_key, 1,
NULL)) {
case HASH_KEY_IS_STRING:
key->value.str.val = str_key;
- key->value.str.len = strlen(str_key);
+ key->value.str.len = str_key_len;
key->type = IS_STRING;
break;
case HASH_KEY_IS_LONG: