From cf7928b522a9c75d91003439c93e349fdb9e4cc1 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Thu, 20 Feb 2025 22:31:44 +0000 Subject: [PATCH] ext/sockets: multicast socket option helper change to zval_try_get_tmp_string() --- ext/sockets/multicast.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ext/sockets/multicast.c b/ext/sockets/multicast.c index 8ca85cf7284c..8227256adac5 100644 --- a/ext/sockets/multicast.c +++ b/ext/sockets/multicast.c @@ -94,7 +94,10 @@ static zend_result php_get_if_index_from_zval(zval *val, unsigned *out) ret = SUCCESS; } else { zend_string *tmp_str; - zend_string *str = zval_get_tmp_string(val, &tmp_str); + zend_string *str = zval_try_get_tmp_string(val, &tmp_str); + if (UNEXPECTED(!str)) { + return FAILURE; + } ret = php_string_to_if_index(ZSTR_VAL(str), out); zend_tmp_string_release(tmp_str); } @@ -127,7 +130,10 @@ static zend_result php_get_address_from_array(const HashTable *ht, const char *k zend_value_error("No key \"%s\" passed in optval", key); return FAILURE; } - str = zval_get_tmp_string(val, &tmp_str); + str = zval_try_get_tmp_string(val, &tmp_str); + if (UNEXPECTED(!str)) { + return FAILURE; + } if (!php_set_inet46_addr(ss, ss_len, str, sock)) { zend_tmp_string_release(tmp_str); return FAILURE;