diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2024-05-23 14:54:03 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2024-05-31 10:46:30 +0000 |
commit | 5f6b09536036655e46dd2669f2e141f10e1c1088 (patch) | |
tree | 845ac552d2d60ff821516e3abc822334266af463 /src | |
parent | 39a90fc39a2e723dea7e6895ace9c9b157b2a3a1 (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.c | 3 |
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; } |