Skip to content

Commit faac8b0

Browse files
committed
CID 158616
1 parent eff7398 commit faac8b0

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

redis_array.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -976,9 +976,7 @@ PHP_METHOD(RedisArray, mget)
976976
}
977977

978978
for(i = 0, j = 0; i < argc; ++i) {
979-
if(pos[i] != n) continue;
980-
981-
z_cur = zend_hash_index_find(Z_ARRVAL(z_ret), j++);
979+
if (pos[i] != n || (z_cur = zend_hash_index_find(Z_ARRVAL(z_ret), j++)) == NULL) continue;
982980

983981
#if (PHP_MAJOR_VERSION < 7)
984982
MAKE_STD_ZVAL(z_tmp);
@@ -995,7 +993,7 @@ PHP_METHOD(RedisArray, mget)
995993
array_init(return_value);
996994
/* copy temp array in the right order to return_value */
997995
for(i = 0; i < argc; ++i) {
998-
z_cur = zend_hash_index_find(Z_ARRVAL(z_tmp_array), i);
996+
if ((z_cur = zend_hash_index_find(Z_ARRVAL(z_tmp_array), i)) == NULL) continue;
999997

1000998
#if (PHP_MAJOR_VERSION < 7)
1001999
MAKE_STD_ZVAL(z_tmp);

redis_array_impl.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,12 @@ ra_index_change_keys(const char *cmd, zval *z_keys, zval *z_redis TSRMLS_DC) {
545545

546546
/* prepare keys */
547547
for(i = 0; i < argc - 1; ++i) {
548-
z_args[i+1] = *zend_hash_index_find(Z_ARRVAL_P(z_keys), i);
548+
zval *zv = zend_hash_index_find(Z_ARRVAL_P(z_keys), i);
549+
if (zv == NULL) {
550+
ZVAL_NULL(&z_args[i+1]);
551+
} else {
552+
z_args[i+1] = *zv;
553+
}
549554
}
550555

551556
/* run cmd */

0 commit comments

Comments
 (0)