From df5fb9adf2f5330acee77736dcac7c704cb7e19f Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 29 Oct 2021 15:45:21 +0200 Subject: [PATCH] hnb-test: Fix memleak in hnb_read_cb Change-Id: I6ecbce6aab11e1382ff9f71d901e1c6ac145f835 --- src/tests/hnb-test.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c index 02af4d95..2c73fedd 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; }