Use cheaper functions to get member name in PDO (#18769)

This commit is contained in:
Niels Dossche 2025-06-05 17:46:56 +02:00 committed by GitHub
parent 91becb3042
commit d15e119d07
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2255,12 +2255,13 @@ static zval *row_dim_read(zend_object *object, zval *offset, int type, zval *rv)
}
return rv;
} else {
zend_string *member = zval_try_get_string(offset);
zend_string *tmp_member;
zend_string *member = zval_try_get_tmp_string(offset, &tmp_member);
if (!member) {
return NULL;
}
zval *result = row_prop_read(object, member, type, NULL, rv);
zend_string_release_ex(member, false);
zend_tmp_string_release(tmp_member);
return result;
}
}
@ -2330,12 +2331,13 @@ static int row_dim_exists(zend_object *object, zval *offset, int check_empty)
zval_ptr_dtor_nogc(retval);
return res;
} else {
zend_string *member = zval_try_get_string(offset);
zend_string *tmp_member;
zend_string *member = zval_try_get_tmp_string(offset, &tmp_member);
if (!member) {
return 0;
}
int result = row_prop_exists(object, member, check_empty, NULL);
zend_string_release_ex(member, false);
zend_tmp_string_release(tmp_member);
return result;
}
}