aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2024-05-23 14:54:03 +0200
committerAleksander Morgado <aleksandermj@chromium.org>2024-05-31 10:46:30 +0000
commit5f6b09536036655e46dd2669f2e141f10e1c1088 (patch)
tree845ac552d2d60ff821516e3abc822334266af463 /src
parent39a90fc39a2e723dea7e6895ace9c9b157b2a3a1 (diff)
broadband-modem: fix a potential leak in cusd_process_string() error handling
On error, *converted may already be allocated and we need to free it (but not in case we're returning it from the task).
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-modem.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 4d32af35..d11e1a90 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -6617,9 +6617,10 @@ out:
if (error)
g_task_return_error (task, error);
else if (converted)
- g_task_return_pointer (task, converted, g_free);
+ g_task_return_pointer (task, g_steal_pointer (&converted), g_free);
else
g_assert_not_reached ();
+ g_clear_pointer (&converted, g_free);
return;
}