aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-09-24 17:44:50 +0200
committerHarald Welte <laforge@gnumonks.org>2018-09-24 17:46:05 +0200
commit703d686c20f82e856762bffef01a6f4bb021dc9e (patch)
tree117f3393bdc4d0723e4f1398f5404cc7812f88c5
parent9ebbacc801da9f6ba590ffd14a174bd89be6b5a9 (diff)
fix double-free of msgb
-rw-r--r--src/remsim_client.c1
-rw-r--r--src/rspro_util.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/src/remsim_client.c b/src/remsim_client.c
index e04d2ef..850ded6 100644
--- a/src/remsim_client.c
+++ b/src/remsim_client.c
@@ -73,7 +73,6 @@ int bankd_read_cb(struct ipa_client_conn *conn, struct msgb *msg)
printf("Received RSPRO %s\n", msgb_hexdump(msg));
rc = bankd_handle_msg(bc, msg);
- msgb_free(msg);
return rc;
diff --git a/src/rspro_util.c b/src/rspro_util.c
index 82adb88..002bd81 100644
--- a/src/rspro_util.c
+++ b/src/rspro_util.c
@@ -39,6 +39,7 @@ struct msgb *rspro_enc_msg(RsproPDU_t *pdu)
rval = der_encode_to_buffer(&asn_DEF_RsproPDU, pdu, msgb_data(msg), msgb_tailroom(msg));
if (rval.encoded < 0) {
fprintf(stderr, "Failed to encode %s\n", rval.failed_type->name);
+ msgb_free(msg);
return NULL;
}
msgb_put(msg, rval.encoded);