aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2012-10-22 09:17:17 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2012-12-02 14:10:18 -0500
commit6fa79bcaecdbb0eb417afbc7fb0a8fa204308b62 (patch)
tree6be7fae45b04d900288c1ed70907fa97f2623cb3 /tools
parent9489e9dcae718d5fde988e4a684a0f55b5f94d17 (diff)
tools/firewire: nosy-dump: check for allocation failure
Behavior of null pointer dereference is undefined in the C language. Portably implement the desired behavior. Reported-by: Yang Yeping <yangyeping_666@hotmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'tools')
-rw-r--r--tools/firewire/nosy-dump.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/firewire/nosy-dump.c b/tools/firewire/nosy-dump.c
index f93b776370b6..3179c711bd65 100644
--- a/tools/firewire/nosy-dump.c
+++ b/tools/firewire/nosy-dump.c
@@ -150,6 +150,8 @@ subaction_create(uint32_t *data, size_t length)
150 150
151 /* we put the ack in the subaction struct for easy access. */ 151 /* we put the ack in the subaction struct for easy access. */
152 sa = malloc(sizeof *sa - sizeof sa->packet + length); 152 sa = malloc(sizeof *sa - sizeof sa->packet + length);
153 if (!sa)
154 exit(EXIT_FAILURE);
153 sa->ack = data[length / 4 - 1]; 155 sa->ack = data[length / 4 - 1];
154 sa->length = length; 156 sa->length = length;
155 memcpy(&sa->packet, data, length); 157 memcpy(&sa->packet, data, length);
@@ -180,6 +182,8 @@ link_transaction_lookup(int request_node, int response_node, int tlabel)
180 } 182 }
181 183
182 t = malloc(sizeof *t); 184 t = malloc(sizeof *t);
185 if (!t)
186 exit(EXIT_FAILURE);
183 t->request_node = request_node; 187 t->request_node = request_node;
184 t->response_node = response_node; 188 t->response_node = response_node;
185 t->tlabel = tlabel; 189 t->tlabel = tlabel;