diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2022-02-15 20:23:49 +0100 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2022-02-17 08:28:49 +0100 |
commit | 6d87e29bef2d2cd3c40e49b9120fae5148030381 (patch) | |
tree | 73cdabd7e5439af9e44c14851fd6e6d492650f70 /src/ipcpd/unicast/dt.c | |
parent | 80f6513802c56480582c8b5baa2168b9e5268aaa (diff) | |
download | ouroboros-6d87e29bef2d2cd3c40e49b9120fae5148030381.tar.gz ouroboros-6d87e29bef2d2cd3c40e49b9120fae5148030381.zip |
ipcpd: Fix free in fail path of readdir
The free of the buffer in the failure path of the readdir RIB
functions was taking the wrong pointer in a couple of places. The FRCT
RIB readdir was missing error handling for malloc and strdup.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/dt.c')
-rw-r--r-- | src/ipcpd/unicast/dt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ipcpd/unicast/dt.c b/src/ipcpd/unicast/dt.c index 0f504daa..f2013809 100644 --- a/src/ipcpd/unicast/dt.c +++ b/src/ipcpd/unicast/dt.c @@ -312,7 +312,7 @@ static int dt_rib_readdir(char *** buf) if ((*buf)[idx] == NULL) { while (idx-- > 0) free((*buf)[idx]); - free(buf); + free(*buf); pthread_mutex_unlock(&dt.stat[i].lock); pthread_rwlock_unlock(&dt.lock); return -ENOMEM; |