diff --git a/openbsc/src/gprs/gprs_ns.c b/openbsc/src/gprs/gprs_ns.c index 1b9d7c6d5..11637f7fa 100644 --- a/openbsc/src/gprs/gprs_ns.c +++ b/openbsc/src/gprs/gprs_ns.c @@ -793,7 +793,11 @@ static int handle_nsip_read(struct bsc_fd *bfd) if (!msg) return error; - return gprs_ns_rcvmsg(nsi, msg, &saddr); + error = gprs_ns_rcvmsg(nsi, msg, &saddr); + + msgb_free(msg); + + return error; } static int handle_nsip_write(struct bsc_fd *bfd)