aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-12-22 22:56:15 +0100
committerHarald Welte <laforge@gnumonks.org>2010-12-26 19:20:56 +0100
commitf89f6d89923e382ce7e3dc16377b9c765befb411 (patch)
tree4086cc360ac8249a72b0c6e77277edbc9d069046
parentf7db9c81daab53926bb1dfafbe903f738e9196e8 (diff)
mncc_sock: Add an assert() in case our queue peek trick goes wrong
-rw-r--r--openbsc/src/mncc_sock.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/openbsc/src/mncc_sock.c b/openbsc/src/mncc_sock.c
index 9e728bc14..be0d9b933 100644
--- a/openbsc/src/mncc_sock.c
+++ b/openbsc/src/mncc_sock.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <assert.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
@@ -118,7 +119,7 @@ static int mncc_sock_write(struct bsc_fd *bfd)
int rc;
while (!llist_empty(&net->upqueue)) {
- struct msgb *msg;
+ struct msgb *msg, *msg2;
struct gsm_mncc *mncc_prim;
/* peek at the beginning of the queue */
@@ -139,7 +140,9 @@ static int mncc_sock_write(struct bsc_fd *bfd)
goto close;
}
/* _after_ we send it, we can deueue */
- msgb_dequeue(&net->upqueue);
+ msg2 = msgb_dequeue(&net->upqueue);
+ assert(msg == msg2);
+ msgb_free(msg);
}
return 0;