summaryrefslogtreecommitdiff
path: root/attrib/att.c
diff options
context:
space:
mode:
authorVinicius Costa Gomes <vinicius.gomes@openbossa.org>2012-10-10 20:35:02 -0300
committerJohan Hedberg <johan.hedberg@intel.com>2012-10-11 08:48:22 +0200
commitf8619bef3406a2134082dc41c208105fe028c09f (patch)
tree8aee07ce1e9e9191d8e538dd0bef210833ca006a /attrib/att.c
parenta48a3bac3ab1e12ea145ca46dd30cdf948761a73 (diff)
downloadbluez-f8619bef3406a2134082dc41c208105fe028c09f.tar.gz
attrib: Fix not checking if att_data_list_alloc fails
Now that this function may fail in more usual situations (invalid input), we have to check its return value.
Diffstat (limited to 'attrib/att.c')
-rw-r--r--attrib/att.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/attrib/att.c b/attrib/att.c
index f262bb608..0ed41786a 100644
--- a/attrib/att.c
+++ b/attrib/att.c
@@ -211,6 +211,8 @@ struct att_data_list *dec_read_by_grp_resp(const uint8_t *pdu, size_t len)
elen = pdu[1];
num = (len - 2) / elen;
list = att_data_list_alloc(num, elen);
+ if (list == NULL)
+ return NULL;
ptr = &pdu[2];
@@ -441,6 +443,8 @@ struct att_data_list *dec_read_by_type_resp(const uint8_t *pdu, size_t len)
elen = pdu[1];
num = (len - 2) / elen;
list = att_data_list_alloc(num, elen);
+ if (list == NULL)
+ return NULL;
ptr = &pdu[2];
@@ -825,6 +829,8 @@ struct att_data_list *dec_find_info_resp(const uint8_t *pdu, size_t len,
ptr = (void *) &pdu[2];
list = att_data_list_alloc(num, elen);
+ if (list == NULL)
+ return NULL;
for (i = 0; i < num; i++) {
memcpy(list->data[i], ptr, list->len);