mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-24 12:44:19 +08:00
tools: Fix memory leaks
req is allocated memory that must be freed. It appears all other error paths got fail which handles this. g_new0 allocates memory to data which must be freed. g_malloc0 allocates memory to comp which must be freed.
This commit is contained in:
parent
ca769001a8
commit
31ce1e9a5b
@ -914,7 +914,7 @@ static void cmd_import_node(int argc, char *argv[])
|
||||
|
||||
/* Number of elements */
|
||||
if (sscanf(argv[4], "%u", &req->arg3) != 1)
|
||||
return;
|
||||
goto fail;
|
||||
|
||||
/* DevKey */
|
||||
req->data2 = l_util_from_hexstring(argv[5], &sz);
|
||||
|
@ -525,6 +525,7 @@ bool mesh_gatt_notify(GDBusProxy *proxy, bool enable, GDBusReturnFunction cb,
|
||||
notify_io_destroy();
|
||||
if (cb)
|
||||
cb(NULL, user_data);
|
||||
g_free(data);
|
||||
return true;
|
||||
} else {
|
||||
method = "StopNotify";
|
||||
|
@ -396,8 +396,10 @@ bool node_parse_composition(struct mesh_node *node, uint8_t *data, uint16_t len)
|
||||
uint16_t vendor_id;
|
||||
struct mesh_element *ele;
|
||||
ele = g_malloc0(sizeof(struct mesh_element));
|
||||
if (!ele)
|
||||
if (!ele) {
|
||||
g_free(comp);
|
||||
return false;
|
||||
}
|
||||
|
||||
ele->index = i;
|
||||
ele->loc = get_le16(data);
|
||||
@ -412,8 +414,10 @@ bool node_parse_composition(struct mesh_node *node, uint8_t *data, uint16_t len)
|
||||
mod_id = get_le16(data);
|
||||
/* initialize uppper 16 bits to 0xffff for SIG models */
|
||||
mod_id |= 0xffff0000;
|
||||
if (!node_set_model(node, ele->index, mod_id))
|
||||
if (!node_set_model(node, ele->index, mod_id)) {
|
||||
g_free(comp);
|
||||
return false;
|
||||
}
|
||||
data += 2;
|
||||
len -= 2;
|
||||
}
|
||||
@ -421,8 +425,10 @@ bool node_parse_composition(struct mesh_node *node, uint8_t *data, uint16_t len)
|
||||
mod_id = get_le16(data + 2);
|
||||
vendor_id = get_le16(data);
|
||||
mod_id |= (vendor_id << 16);
|
||||
if (!node_set_model(node, ele->index, mod_id))
|
||||
if (!node_set_model(node, ele->index, mod_id)) {
|
||||
g_free(comp);
|
||||
return false;
|
||||
}
|
||||
data += 4;
|
||||
len -= 4;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user