From 0f0039045088e41f3cebea620ba9ef6d13592faf Mon Sep 17 00:00:00 2001 From: Yao Zi Date: Tue, 25 Mar 2025 08:35:47 +0000 Subject: [PATCH] client/gatt: Fix pointer assigned with character literal A character literl, '\0', is assigned to the pointer. The corresponding comment doesn't make any sense, since '\0' represents zero and this statement does the same thing as assigning value with NULL. Initializing value with NULL (or zero) is safe and correct here: the only case that the initial value of the pointer is passed to write_value() is that the if branch isn't executed, where len keeps its initial value, zero, as well. With src_len equal to zero, write_value() will bail out and src_val won't be dereferenced. Let's clean up the misleading comment and change right side of the assignment to fix compiler warnings about the wrong type, Fixes: ee750bbaf68c ("client/gatt: proxy_property_changed: check for NULL iterator") Acked-by: Christian Eggers --- client/gatt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/gatt.c b/client/gatt.c index 4dac88590..b18186518 100644 --- a/client/gatt.c +++ b/client/gatt.c @@ -3207,7 +3207,7 @@ static void proxy_property_changed(GDBusProxy *proxy, const char *name, chrc->path, bt_uuidstr_to_str(chrc->uuid), name); if (!strcmp(name, "Value")) { - uint8_t *value = '\0'; /* don't pass NULL to write_value() */ + uint8_t *value = NULL; int len = 0; if (iter && dbus_message_iter_get_arg_type(iter) == -- 2.47.3