dbus: NULL check proxy on method calls
PATCH v2 1/1 dbus: NULL check proxy on method calls
l_dbus_proxy_method_call() seg-faults when called with a NULL proxy pointer. This NULL check follows the pattern of NULL checks in the other LIB_EXPORT methods in module.
--- ell/dbus-client.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
ell/dbus-client.c +5 -2
@@ -301,6 +301,9 @@ LIB_EXPORT uint32_t l_dbus_proxy_method_call(struct l_dbus_proxy *proxy, {struct method_call_request *req; +if (unlikely (!proxy)) +return 0 ; + req = l_new(struct method_call_request, 1); req->proxy = proxy; req->setup = setup;
@@ -648,8 +651,8 @@ LIB_EXPORT void l_dbus_client_destroy(struct l_dbus_client *client) client->proxy_cb_data_destroy (client->proxy_cb_data);if (client->objects_call) -l_dbus_cancel (client->dbus, client->objects_call) -; +l_dbus_cancel (client->dbus, client->objects_call); +l_queue_destroy (client->proxies, (l_queue_destroy_func_t )dbus_proxy_destroy);
Signature · 1 line
2.21.0
Hi Brian,
Quoted 7 lines · Brian Gix
l_dbus_proxy_method_call()seg-faults when called with a NULL proxy pointer. This NULL check follows the pattern of NULL checks in the otherLIB_EXPORTmethods in module.--- ell/dbus-client.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
Good catch...
Quoted 15 lines
ell/dbus-client.c +3
-0@@ -301,6 +301,9 @@ LIB_EXPORT uint32_t l_dbus_proxy_method_call(struct l_dbus_proxy *proxy, {struct method_call_request *req; +if (unlikely (!proxy)) +return 0 ; + req = l_new(struct method_call_request, 1); req->proxy = proxy; req->setup = setup;
ell/dbus-client.c LIB_EXPORT void l_dbus_client_destroy(struct l_dbus_client *client) · line 655
Quoted 7 lines
ell/dbus-client.c +2
-2@@ -648,8 +651,8 @@ LIB_EXPORT void l_dbus_client_destroy(struct l_dbus_client *client) client->proxy_cb_data_destroy (client->proxy_cb_data);if (client->objects_call) -l_dbus_cancel (client->dbus, client->objects_call) -; +l_dbus_cancel (client->dbus, client->objects_call); +
... but this part belongs in a separate commit.
ell/dbus-client.c LIB_EXPORT void l_dbus_client_destroy(struct l_dbus_client *client) · line 658
Quoted 4 lines
ell/dbus-client.c +0
-0l_queue_destroy (client->proxies, (l_queue_destroy_func_t )dbus_proxy_destroy);
Regards,
-Denis