diff options
-rw-r--r-- | binding/bluetooth-api.h | 5 | ||||
-rw-r--r-- | binding/bluetooth-util.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/binding/bluetooth-api.h b/binding/bluetooth-api.h index 31a1d76..209f992 100644 --- a/binding/bluetooth-api.h +++ b/binding/bluetooth-api.h @@ -92,6 +92,11 @@ static inline gchar *bluez_return_device(const char *path) if (!basename) return NULL; basename++; + + /* be sure it is a bluez path with device */ + if (strncmp(basename, "dev_", 4)) + return NULL; + /* at least one character */ return *basename ? g_strdup(basename) : NULL; } diff --git a/binding/bluetooth-util.c b/binding/bluetooth-util.c index 4740cda..963af82 100644 --- a/binding/bluetooth-util.c +++ b/binding/bluetooth-util.c @@ -1033,8 +1033,10 @@ void json_process_path(json_object *jresp, const char *path) { g_free(tmp); tmp = bluez_return_device(path); - json_object_object_add(jresp, "device", json_object_new_string(tmp)); - g_free(tmp); + if (tmp) { + json_object_object_add(jresp, "device", json_object_new_string(tmp)); + g_free(tmp); + } } gchar *return_bluez_path(afb_req_t request) { |