aboutsummaryrefslogtreecommitdiff
path: root/src/mm-shared-qmi.c
diff options
context:
space:
mode:
authorAndrey Skvortsov <andrej.skvortzov@gmail.com>2023-06-19 23:11:54 +0300
committerAndrey Skvortsov <andrej.skvortzov@gmail.com>2023-06-23 23:19:53 +0300
commit5eb3acee0ae1d83305a5120b81a927785a3ff821 (patch)
tree1081afc20d5ee2d09fd7eccb4a4c6bfe093a3c0f /src/mm-shared-qmi.c
parent2ea67ae3e8631b999239b5b8d471d31dcc8ef3b9 (diff)
shared-qmi: fix memory leak in set_supl_server command
ctx->supl is allocated in mm_shared_qmi_location_set_supl_server using g_strdup. g_strdup requires to free string when unneeded. The problem could be reproduced using following commands ``` while true; do mmcli -m any --location-set-supl-server="supl.google.com:7276"; mem=$(cat /proc/$(pgrep ModemManager)/statm | awk '{print $6}') echo $(date +"%s"), $mem | tee -a mm-leak.log; done; ```
Diffstat (limited to 'src/mm-shared-qmi.c')
-rw-r--r--src/mm-shared-qmi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mm-shared-qmi.c b/src/mm-shared-qmi.c
index 8b5fcee5..44c1a311 100644
--- a/src/mm-shared-qmi.c
+++ b/src/mm-shared-qmi.c
@@ -4464,6 +4464,7 @@ set_supl_server_context_free (SetSuplServerContext *ctx)
g_signal_handler_disconnect (ctx->client, ctx->indication_id);
g_object_unref (ctx->client);
}
+ g_free (ctx->supl);
g_slice_free (SetSuplServerContext, ctx);
}