bankd/client: Fix memory leak if rspro_enc_msg() fails
Change-Id: Ib72b077d82939be0627b9dd7c905fb2a33db9ca5
This commit is contained in:
parent
972a1e892e
commit
2eee4507ca
|
@ -435,6 +435,7 @@ static int worker_send_rspro(struct bankd_worker *worker, RsproPDU_t *pdu)
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (!msg) {
|
if (!msg) {
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu);
|
||||||
LOGW(worker, "error encoding RSPRO\n");
|
LOGW(worker, "error encoding RSPRO\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,8 +58,10 @@ static void push_and_send(struct ipa_client_conn *ipa, struct msgb *msg_tx)
|
||||||
int ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
|
int ipa_client_conn_send_rspro(struct ipa_client_conn *ipa, RsproPDU_t *rspro)
|
||||||
{
|
{
|
||||||
struct msgb *msg = rspro_enc_msg(rspro);
|
struct msgb *msg = rspro_enc_msg(rspro);
|
||||||
if (!msg)
|
if (!msg) {
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RsproPDU, rspro);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
push_and_send(ipa, msg);
|
push_and_send(ipa, msg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue