aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-10-29 15:45:21 +0200
committerpespin <pespin@sysmocom.de>2021-11-02 13:33:56 +0000
commitdf5fb9adf2f5330acee77736dcac7c704cb7e19f (patch)
tree1f009654ef602e6b1c48cfb4f3b686136f910a52
parent1ddedcfa460b8a38e538707409c0b77b2aee1783 (diff)
hnb-test: Fix memleak in hnb_read_cb
-rw-r--r--src/tests/hnb-test.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c
index 02af4d9..2c73fed 100644
--- a/src/tests/hnb-test.c
+++ b/src/tests/hnb-test.c
@@ -583,22 +583,22 @@ static int hnb_read_cb(struct osmo_fd *fd)
/* FIXME: clean up after disappeared HNB */
close(fd->fd);
osmo_fd_unregister(fd);
- return rc;
+ goto free_ret;
} else if (rc == 0) {
LOGP(DMAIN, LOGL_INFO, "Connection to HNB closed\n");
close(fd->fd);
osmo_fd_unregister(fd);
fd->fd = -1;
-
- return -1;
+ rc = -1;
+ goto free_ret;
} else {
msgb_put(msg, rc);
}
if (flags & MSG_NOTIFICATION) {
LOGP(DMAIN, LOGL_DEBUG, "Ignoring SCTP notification\n");
- msgb_free(msg);
- return 0;
+ rc = 0;
+ goto free_ret;
}
sinfo.sinfo_ppid = ntohl(sinfo.sinfo_ppid);
@@ -626,6 +626,7 @@ static int hnb_read_cb(struct osmo_fd *fd)
break;
}
+free_ret:
msgb_free(msg);
return rc;
}