summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-05-20 20:44:30 +0200
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-05-20 21:30:52 +0200
commit3706cc5d75c2005dda3d1ceaee8f648db5970a25 (patch)
tree8aaed1649a5660f507bfc2b101f1f9760f1ded33
parenta5df21fd010d98e8f9f51ccd2aeae03a726e94b5 (diff)
downloadouroboros-3706cc5d75c2005dda3d1ceaee8f648db5970a25.tar.gz
ouroboros-3706cc5d75c2005dda3d1ceaee8f648db5970a25.zip
lib, ipcpd: fixes segfaults in dev.c and shim-udp
-rw-r--r--src/ipcpd/shim-udp/main.c3
-rw-r--r--src/lib/dev.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c
index 3ef783c4..1284a0e5 100644
--- a/src/ipcpd/shim-udp/main.c
+++ b/src/ipcpd/shim-udp/main.c
@@ -189,10 +189,9 @@ void shim_ap_fini()
shm_ap_rbuff_close(_ap_instance->flows[i].rb);
rw_lock_unlock(&_ap_instance->flows_lock);
+ rw_lock_unlock(&_ipcp->state_lock);
free(_ap_instance);
-
- rw_lock_unlock(&_ipcp->state_lock);
}
/* only call this under flows_lock */
diff --git a/src/lib/dev.c b/src/lib/dev.c
index fab37bbf..63cf92f7 100644
--- a/src/lib/dev.c
+++ b/src/lib/dev.c
@@ -137,10 +137,9 @@ void ap_fini(void)
shm_ap_rbuff_close(_ap_instance->flows[i].rb);
rw_lock_unlock(&_ap_instance->flows_lock);
+ rw_lock_unlock(&_ap_instance->data_lock);
free(_ap_instance);
-
- rw_lock_unlock(&_ap_instance->data_lock);
}
#if 0