From d5a11256b150dcc8483b11b4ecd0438c8a6440a0 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 6 May 2022 16:05:14 -0700 Subject: [PATCH] advertising: Treat empty LocalName the same as omitting it This treats empty LocalName ("") the same as omitting it so not name is set in the advertising data since some D-Bus binding seems to have problems to omit properties at runtime. Fixes: https://github.com/bluez/bluez/issues/337 Signed-off-by: Manika Shrivastava Signed-off-by: Ayush Garg --- src/advertising.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/advertising.c b/src/advertising.c index 0e359c6..b0e46d1 100644 --- a/src/advertising.c +++ b/src/advertising.c @@ -528,7 +528,15 @@ static bool parse_local_name(DBusMessageIter *iter, dbus_message_iter_get_basic(iter, &name); free(client->name); - client->name = strdup(name); + + /* Treat empty string the same as omitting since there is no point on + * adding a empty name as AD data as it just take space that could be + * used for something else. + */ + if (name[0] != '\0') + client->name = strdup(name); + else + client->name = NULL; return true; } -- 2.7.4