diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2017-10-17 01:46:45 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-10-17 02:01:48 +0200 |
commit | e86437cae41717aa27bf14a41f08d9e374b95433 (patch) | |
tree | 0a1c228e8f43b638bb166fa45bea4ce11f123652 | |
parent | 200f56e995563c4af6fcd083b9dd4cab15632440 (diff) |
luop: fix mem leak upon error in lu_op_alloc_conn()
Free allocated luop if osmo_gsup_conn_ccm_get() fails.
Change-Id: I3ebd5fb5e313be452de893248dd58b2bb73ba94a
-rw-r--r-- | src/luop.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -127,8 +127,10 @@ struct lu_operation *lu_op_alloc_conn(struct osmo_gsup_conn *conn) uint8_t *peer_addr; struct lu_operation *luop = lu_op_alloc(conn->server); int rc = osmo_gsup_conn_ccm_get(conn, &peer_addr, IPAC_IDTAG_SERNR); - if (rc < 0) + if (rc < 0) { + lu_op_free(luop); return NULL; + } luop->peer = talloc_memdup(luop, peer_addr, rc); |