diff options
| author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2012-10-22 09:17:17 -0400 |
|---|---|---|
| committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2012-12-02 14:10:18 -0500 |
| commit | 6fa79bcaecdbb0eb417afbc7fb0a8fa204308b62 (patch) | |
| tree | 6be7fae45b04d900288c1ed70907fa97f2623cb3 | |
| parent | 9489e9dcae718d5fde988e4a684a0f55b5f94d17 (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>
| -rw-r--r-- | tools/firewire/nosy-dump.c | 4 |
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; |
