2012-10-22 13:17:37

by Stefan Richter

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
---
tools/firewire/nosy-dump.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/tools/firewire/nosy-dump.c
+++ b/tools/firewire/nosy-dump.c
@@ -150,6 +150,8 @@ subaction_create(uint32_t *data, size_t

/* we put the ack in the subaction struct for easy access. */
sa = malloc(sizeof *sa - sizeof sa->packet + length);
+ if (!sa)
+ exit(EXIT_FAILURE);
sa->ack = data[length / 4 - 1];
sa->length = length;
memcpy(&sa->packet, data, length);
@@ -180,6 +182,8 @@ link_transaction_lookup(int request_node
}

t = malloc(sizeof *t);
+ if (!t)
+ exit(EXIT_FAILURE);
t->request_node = request_node;
t->response_node = response_node;
t->tlabel = tlabel;

--
Stefan Richter
-=====-===-- =-=- =-==-
http://arcgraph.de/sr/