Skip to content

Commit 65a9925

Browse files
committed
uri: Stop checking for NULL before calling ->free_uri()
This implicitly fixes an `UNEXPECTED(…->uri != NULL)` in `uri_free_obj_handler` that likely should have read `EXPECTED` instead.
1 parent 88bf489 commit 65a9925

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

ext/uri/php_uri.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -766,9 +766,7 @@ static void uri_unserialize(INTERNAL_FUNCTION_PARAMETERS, const char *uri_parser
766766

767767
uri_internal_t *internal_uri = uri_internal_from_obj(object);
768768
internal_uri->parser = uri_parser_by_name(uri_parser_name, strlen(uri_parser_name));
769-
if (internal_uri->uri != NULL) {
770-
internal_uri->parser->free_uri(internal_uri->uri);
771-
}
769+
internal_uri->parser->free_uri(internal_uri->uri);
772770
internal_uri->uri = internal_uri->parser->parse_uri(Z_STRVAL_P(uri_zv), Z_STRLEN_P(uri_zv), NULL, NULL, true);
773771
if (internal_uri->uri == NULL) {
774772
zend_throw_exception_ex(NULL, 0, "Invalid serialization data for %s object", ZSTR_VAL(object->ce->name));
@@ -970,11 +968,8 @@ static void uri_free_obj_handler(zend_object *object)
970968
{
971969
uri_object_t *uri_object = uri_object_from_obj(object);
972970

973-
if (UNEXPECTED(uri_object->internal.uri != NULL)) {
974-
uri_object->internal.parser->free_uri(uri_object->internal.uri);
975-
uri_object->internal.parser = NULL;
976-
uri_object->internal.uri = NULL;
977-
}
971+
uri_object->internal.parser->free_uri(uri_object->internal.uri);
972+
uri_object->internal.uri = NULL;
978973

979974
zend_object_std_dtor(&uri_object->std);
980975
}

0 commit comments

Comments
 (0)