diff options
author | Denis Kenzior <denkenz@gmail.com> | 2019-04-29 14:20:25 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2019-04-29 14:20:25 -0500 |
commit | fbd9974998767afbac3a54f2e09a55376e97e602 (patch) | |
tree | 7859e0100888e9a0da1a2a37ca7bb726588c56a0 /drivers/qmimodem/sim-legacy.c | |
parent | 4a93c329b9139af380da49ef373e7ad72834d210 (diff) | |
download | ofono-fbd9974998767afbac3a54f2e09a55376e97e602.tar.gz |
qmimodem: Fix potential memory leak
In case strlen(ICCID) > 20, we simply return without freeing the ICCID
value first.
Diffstat (limited to 'drivers/qmimodem/sim-legacy.c')
-rw-r--r-- | drivers/qmimodem/sim-legacy.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/qmimodem/sim-legacy.c b/drivers/qmimodem/sim-legacy.c index 30eb4613..601e721d 100644 --- a/drivers/qmimodem/sim-legacy.c +++ b/drivers/qmimodem/sim-legacy.c @@ -83,13 +83,13 @@ static void get_iccid_cb(struct qmi_result *result, void *user_data) len = strlen(str); if (len > 20) { + qmi_free(str); CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data); return; } sim_encode_bcd_number(str, iccid); iccid_len = len / 2; - qmi_free(str); CALLBACK_WITH_SUCCESS(cb, iccid, iccid_len, cbd->data); |