diff options
author | Pavlo Yatsukhnenko <yatsukhnenko@gmail.com> | 2022-04-14 21:13:54 +0300 |
---|---|---|
committer | Pavlo Yatsukhnenko <yatsukhnenko@gmail.com> | 2022-04-14 21:13:54 +0300 |
commit | 55bf0202dd674c70e147fc50e72298719e23391e (patch) | |
tree | e6bc5f8be4ff8128a3ffec70ba7902e232dbd762 | |
parent | ee210f86e58894e24128b2540690c7838d379f47 (diff) |
Fix segfault
-rw-r--r-- | library.c | 4 | ||||
-rw-r--r-- | redis.c | 3 |
2 files changed, 6 insertions, 1 deletions
@@ -2581,7 +2581,9 @@ redis_sock_set_stream_context(RedisSock *redis_sock, zval *options) redis_sock->stream_ctx = php_stream_context_alloc(); ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(options), zkey, z_ele) { - php_stream_context_set_option(redis_sock->stream_ctx, "ssl", ZSTR_VAL(zkey), z_ele); + if (zkey != NULL) { + php_stream_context_set_option(redis_sock->stream_ctx, "ssl", ZSTR_VAL(zkey), z_ele); + } } ZEND_HASH_FOREACH_END(); return SUCCESS; @@ -606,6 +606,9 @@ PHP_METHOD(Redis, __construct) redis->sock = redis_sock_create("127.0.0.1", 0, 6379, 0, 0, 0, NULL, 0); ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(opts), zkey, val) { + if (zkey == NULL) { + continue; + } ZVAL_DEREF(val); if (zend_string_equals_literal_ci(zkey, "host")) { if (Z_TYPE_P(val) != IS_STRING) { |