Skip to content

Commit 6a7d72f

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 070e3d0 commit 6a7d72f

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
@@ -764,9 +764,7 @@ static void uri_unserialize(INTERNAL_FUNCTION_PARAMETERS, const char *uri_parser
764764

765765
uri_internal_t *internal_uri = uri_internal_from_obj(object);
766766
internal_uri->parser = uri_parser_by_name(uri_parser_name, strlen(uri_parser_name));
767-
if (internal_uri->uri != NULL) {
768-
internal_uri->parser->free_uri(internal_uri->uri);
769-
}
767+
internal_uri->parser->free_uri(internal_uri->uri);
770768
internal_uri->uri = internal_uri->parser->parse_uri(Z_STRVAL_P(uri_zv), Z_STRLEN_P(uri_zv), NULL, NULL, true);
771769
if (internal_uri->uri == NULL) {
772770
zend_throw_exception_ex(NULL, 0, "Invalid serialization data for %s object", ZSTR_VAL(object->ce->name));
@@ -968,11 +966,8 @@ static void uri_free_obj_handler(zend_object *object)
968966
{
969967
uri_object_t *uri_object = uri_object_from_obj(object);
970968

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

977972
zend_object_std_dtor(&uri_object->std);
978973
}

0 commit comments

Comments
 (0)