summaryrefslogtreecommitdiff
path: root/src/ipcpd/unicast/routing
diff options
context:
space:
mode:
authorDimitri Staessens <[email protected]>2022-02-15 20:23:49 +0100
committerSander Vrijders <[email protected]>2022-02-17 08:28:49 +0100
commit6d87e29bef2d2cd3c40e49b9120fae5148030381 (patch)
tree73cdabd7e5439af9e44c14851fd6e6d492650f70 /src/ipcpd/unicast/routing
parent80f6513802c56480582c8b5baa2168b9e5268aaa (diff)
downloadouroboros-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 <[email protected]> Signed-off-by: Sander Vrijders <[email protected]>
Diffstat (limited to 'src/ipcpd/unicast/routing')
-rw-r--r--src/ipcpd/unicast/routing/link-state.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ipcpd/unicast/routing/link-state.c b/src/ipcpd/unicast/routing/link-state.c
index 7ceb86a1..d6ecee99 100644
--- a/src/ipcpd/unicast/routing/link-state.c
+++ b/src/ipcpd/unicast/routing/link-state.c
@@ -273,7 +273,7 @@ static int lsdb_rib_readdir(char *** buf)
if ((*buf)[idx] == NULL) {
while (idx-- > 0)
free((*buf)[idx]);
- free(buf);
+ free(*buf);
pthread_rwlock_unlock(&ls.db_lock);
return -ENOMEM;
}