diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-10-29 15:45:21 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2021-11-02 13:33:56 +0000 |
commit | df5fb9adf2f5330acee77736dcac7c704cb7e19f (patch) | |
tree | 1f009654ef602e6b1c48cfb4f3b686136f910a52 | |
parent | 1ddedcfa460b8a38e538707409c0b77b2aee1783 (diff) |
hnb-test: Fix memleak in hnb_read_cb
Change-Id: I6ecbce6aab11e1382ff9f71d901e1c6ac145f835
-rw-r--r-- | src/tests/hnb-test.c | 11 |
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; } |