diff options
author | Sander Vrijders <sander@ouroboros.rocks> | 2019-06-21 19:09:14 +0200 |
---|---|---|
committer | Dimitri Staessens <dimitri@ouroboros.rocks> | 2019-06-21 19:46:40 +0200 |
commit | c9232acef855b51d1bc199a68c03c0695ac11192 (patch) | |
tree | bd2827458e531a9bbb319724bdce40c2c2a9484d /src/ipcpd/normal | |
parent | dc6be97bccd86cfbd64586a5fd9faefb673b70a6 (diff) | |
download | ouroboros-c9232acef855b51d1bc199a68c03c0695ac11192.tar.gz ouroboros-c9232acef855b51d1bc199a68c03c0695ac11192.zip |
ipcpd: Fix use after free and uninitalized value
This fixes a use after free in an error condition, and makes sure that
pid is set in the flow_set early on, so flow_set_destroy won't create
a prefix with an uninitialized pid in case of an error in
shm_flow_set_create.
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/normal')
-rw-r--r-- | src/ipcpd/normal/fa.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ipcpd/normal/fa.c b/src/ipcpd/normal/fa.c index 76942143..fbcbc6fa 100644 --- a/src/ipcpd/normal/fa.c +++ b/src/ipcpd/normal/fa.c @@ -166,8 +166,8 @@ static void * fa_handle_packet(void * o) buf = malloc(sizeof(*msg) + ipcp_dir_hash_len()); if (buf == NULL) { log_err("Failed to allocate memory."); - free(cmd); ipcp_sdb_release(cmd->sdb); + free(cmd); continue; } |