Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
4b112f8
Fixed PHP lint errors.
asafpamzn Sep 18, 2025
e1476f7
dead code removal
asafpamzn Sep 18, 2025
d971b9c
updates
asafpamzn Sep 18, 2025
8728256
Merge branch 'valkey-io:main' into main
asafpamzn Sep 20, 2025
5bc1794
Tests are passing
asafpamzn Sep 21, 2025
5a46bc7
GEo refactor
asafpamzn Sep 21, 2025
26bb7e3
Merge branch 'valkey-io:main' into geo-fixes
asafpamzn Sep 21, 2025
d7761ca
updates
asafpamzn Sep 21, 2025
631d85d
lcs test update
asafpamzn Sep 21, 2025
5ef53f8
tests are passing
asafpamzn Sep 21, 2025
94aad4a
dead code removal
asafpamzn Sep 21, 2025
3911490
updates
asafpamzn Sep 22, 2025
c296632
Merge branch 'valkey-io:main' into main
asafpamzn Sep 25, 2025
ca6ce56
Merge branch 'main' into dead-code-removal
asafpamzn Sep 25, 2025
5355405
fix memory leak
asafpamzn Sep 25, 2025
cf38092
fix leaks in s commands
asafpamzn Sep 25, 2025
b8c85f7
x memory leaks fixes
asafpamzn Sep 25, 2025
5c7ea43
x memory leaks fixes
asafpamzn Sep 25, 2025
5b4275e
updates
asafpamzn Sep 25, 2025
c44387f
updates
asafpamzn Sep 25, 2025
b78fd6c
Merge branch 'valkey-io:main' into main
asafpamzn Sep 26, 2025
1b99543
memory leak fixes
asafpamzn Sep 26, 2025
4acab62
Merge branch 'valkey-io:main' into main
asafpamzn Sep 28, 2025
0b9ef93
Merge branch 'main' into fix-memory-leaks
asafpamzn Sep 28, 2025
8aee369
fix lint
asafpamzn Sep 28, 2025
c1740c6
fix PHP lint
asafpamzn Sep 28, 2025
c9dd2df
updates
asafpamzn Sep 28, 2025
bd9e121
fix memory leak
asafpamzn Sep 28, 2025
a7eead6
fix memory leak
asafpamzn Sep 28, 2025
5af9895
more leaks fixes
asafpamzn Sep 28, 2025
64c26d2
updates
asafpamzn Sep 28, 2025
6617533
fix memory leak
asafpamzn Sep 29, 2025
091194f
fix memory leaks
asafpamzn Sep 29, 2025
3a196a9
updates
asafpamzn Sep 29, 2025
142a721
fix memory leak
asafpamzn Sep 29, 2025
e1b589e
Merge branch 'valkey-io:main' into main
asafpamzn Oct 19, 2025
0636628
updates
asafpamzn Oct 19, 2025
fa06b23
Merge branch 'main' into fix-memory-leaks-2
asafpamzn Oct 19, 2025
0abe741
iupdates
asafpamzn Oct 19, 2025
77d8089
free memory leak
asafpamzn Oct 20, 2025
e3348c2
fixes
asafpamzn Oct 21, 2025
e99b275
updares
asafpamzn Oct 21, 2025
816305f
updates
asafpamzn Oct 21, 2025
4825083
leak fixes
asafpamzn Oct 22, 2025
5d3d03a
fix leak
asafpamzn Oct 22, 2025
128ded2
updates
asafpamzn Oct 22, 2025
add31ce
updates
asafpamzn Oct 22, 2025
b3de44e
updates
asafpamzn Oct 22, 2025
9073d59
Merge branch 'valkey-io:main' into main
asafpamzn Oct 22, 2025
1e0ed64
Merge branch 'main' into fix-memory-leaks-3
asafpamzn Oct 22, 2025
b5e2016
Merge branch 'main' into fix-memory-leaks-3
asafpamzn Oct 22, 2025
4aa169f
more fixes
asafpamzn Oct 23, 2025
ddece48
more fixes
asafpamzn Oct 23, 2025
17a4870
more fixes
asafpamzn Oct 23, 2025
76a75fe
more fixes
asafpamzn Oct 23, 2025
a532f99
more fixes
asafpamzn Oct 23, 2025
edf1cd0
more fixes
asafpamzn Oct 23, 2025
0415df7
more fixes
asafpamzn Oct 23, 2025
24c22d1
Merge branch 'valkey-io:main' into fix-memory-leaks-3
asafpamzn Oct 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,9 @@
"valkey_glide_hash_common.h": "c",
"php_var.h": "c",
"valkey_glide_z_common.h": "c",
"string": "c"
"string": "c",
"__locale": "c",
"ios": "c"
},
"php.validate.enable": true,
"php.validate.executablePath": "/usr/bin/php",
Expand Down
33 changes: 14 additions & 19 deletions src/client_constructor_mock.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,19 @@ void register_mock_constructor_class(void) {
mock_constructor_ce = register_class_ClientConstructorMock();
}

static zval* build_php_connection_request(uint8_t* request_bytes,
size_t request_len,
valkey_glide_base_client_configuration_t* base_config) {
static void build_php_connection_request(uint8_t* request_bytes,
size_t request_len,
valkey_glide_base_client_configuration_t* base_config,
zval* php_request) {
if (!request_bytes) {
const char* error_message = "Protobuf memory allocation error.";
zend_throw_exception(get_valkey_glide_exception_ce(), error_message, 0);
valkey_glide_cleanup_client_config(base_config);
return NULL;
ZVAL_NULL(php_request);
return;
}

zval buffer_param, callable, retval;
ZVAL_UNDEF(&retval);
zval buffer_param, callable;
ZVAL_STRINGL(&buffer_param, (char*) request_bytes, request_len);

zval params[1];
Expand All @@ -57,20 +58,15 @@ static zval* build_php_connection_request(uint8_t*
add_next_index_string(&callable, "ConnectionRequestTest");
add_next_index_string(&callable, "deserialize");

zval* result = NULL;
if (call_user_function(NULL, NULL, &callable, &retval, 1, params) == SUCCESS) {
// Allocate return value
result = emalloc(sizeof(zval));
ZVAL_COPY(result, &retval);
if (call_user_function(NULL, NULL, &callable, php_request, 1, params) != SUCCESS) {
zval_ptr_dtor(php_request);
}

zval_ptr_dtor(&callable);
zval_ptr_dtor(&retval);
zval_ptr_dtor(&buffer_param);

efree(request_bytes);
valkey_glide_cleanup_client_config(base_config);
return result;
}

/*
Expand Down Expand Up @@ -123,9 +119,8 @@ PHP_METHOD(ClientConstructorMock, simulate_standalone_constructor) {
uint8_t* request_bytes = create_connection_request(
"localhost", 6379, &protobuf_message_len, &client_config, 0, false);

zval* php_request =
build_php_connection_request(request_bytes, protobuf_message_len, &client_config);
RETURN_ZVAL(php_request, 1, 1);
build_php_connection_request(request_bytes, protobuf_message_len, &client_config, return_value);
// RETURN_ZVAL(&php_request, 0, 1);
}

/* Simulates a ValkeyGlideCluster constructor */
Expand Down Expand Up @@ -179,7 +174,7 @@ PHP_METHOD(ClientConstructorMock, simulate_cluster_constructor) {
client_config.periodic_checks_status,
true);

zval* php_request =
build_php_connection_request(request_bytes, protobuf_message_len, &client_config.base);
RETURN_ZVAL(php_request, 1, 1);

build_php_connection_request(
request_bytes, protobuf_message_len, &client_config.base, return_value);
}
Loading