-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Description
The following issues in PHP will be fixed as part of this task:
-
_initialize_open_telemetry() can throw an exception, but valkey_glide_build_client_config_base() ignores it, returning SUCCESS with a pending exception. This leaks the config and passes a bad state into the Rust FFI.
-
execute_command_with_route() in command_response.c leaks route_bytes and route.key when parameter validation fails after route allocation.
-
execute_sort_command() and execute_sort_ro_command() call efree() on offset_str/count_str unconditionally, but these are only allocated when a LIMIT option is present. This crashes PHP debug builds.
-
free_valkey_glide_object() does not free buffered_commands. If the object is destroyed mid-batch (exception, scope exit), all buffered command data leaks.
-
ValkeyGlide::close() and ValkeyGlideCluster::close() are no-ops — they return true without releasing the Rust client. Connections are only freed on garbage collection.
Checklist
No response
Additional Notes
No response