From 93c588892a86333fc3cfa66b7c5da2e7ff4e7e6c Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Thu, 27 Dec 2018 17:25:48 +0100 Subject: lib: Fix deallocating non-initialized np1 flows This fixes the deallocation of non-initialized IPCP flows. These can occur when some operations are not implemented. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/ipcpd/normal/fa.c | 3 ++- src/ipcpd/normal/psched.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/ipcpd') diff --git a/src/ipcpd/normal/fa.c b/src/ipcpd/normal/fa.c index 56864e1f..8408033f 100644 --- a/src/ipcpd/normal/fa.c +++ b/src/ipcpd/normal/fa.c @@ -446,7 +446,8 @@ int fa_alloc_resp(int fd, int fa_dealloc(int fd) { - ipcp_flow_fini(fd); + if (ipcp_flow_fini(fd) < 0) + return 0; pthread_rwlock_wrlock(&fa.flows_lock); diff --git a/src/ipcpd/normal/psched.c b/src/ipcpd/normal/psched.c index c38c072d..6d02de18 100644 --- a/src/ipcpd/normal/psched.c +++ b/src/ipcpd/normal/psched.c @@ -217,7 +217,7 @@ void psched_destroy(struct psched * psched) } void psched_add(struct psched * psched, - int fd) + int fd) { qoscube_t qc; @@ -228,7 +228,7 @@ void psched_add(struct psched * psched, } void psched_del(struct psched * psched, - int fd) + int fd) { qoscube_t qc; -- cgit v1.2.3