diff options
author | Maciej S. Szmigiero <maciej.szmigiero@oracle.com> | 2023-01-12 23:27:16 +0100 |
---|---|---|
committer | Maciej S. Szmigiero <maciej.szmigiero@oracle.com> | 2023-01-14 00:49:52 +0100 |
commit | 3fc8fe101fd93605cb3d1e301ee8e552a9601338 (patch) | |
tree | 6780659015b57a7f82b076189abf8b343b084d1d /demo/gclue-service-agent.c | |
parent | ca72db0f8b53deacb93f57f3015bc4c9ffc14335 (diff) | |
download | geoclue-3fc8fe101fd93605cb3d1e301ee8e552a9601338.tar.gz |
Use automatic char* memory management where possible
Remove explicit g_free () calls and convert char* allocations to
g_autofree.
Fixes at least one memory leak in gclue_service_agent_handle_authorize_app ().
Diffstat (limited to 'demo/gclue-service-agent.c')
-rw-r--r-- | demo/gclue-service-agent.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/demo/gclue-service-agent.c b/demo/gclue-service-agent.c index 0c5c08d..8758721 100644 --- a/demo/gclue-service-agent.c +++ b/demo/gclue-service-agent.c @@ -334,10 +334,10 @@ gclue_service_agent_handle_authorize_app (GClueAgent *agent, NotifyNotification *notification; NotificationData *data; GError *error = NULL; - char *desktop_file; + g_autofree char *desktop_file = NULL; GDesktopAppInfo *app_info; - char *msg; - const char *reason; + g_autofree char *msg = NULL; + g_autofree char *reason = NULL; desktop_file = g_strjoin (".", desktop_id, "desktop", NULL); app_info = g_desktop_app_info_new (desktop_file); @@ -350,18 +350,17 @@ gclue_service_agent_handle_authorize_app (GClueAgent *agent, return TRUE; } - g_free (desktop_file); msg = g_strdup_printf (_("Allow '%s' to access your location information?"), g_app_info_get_display_name (G_APP_INFO (app_info))); reason = g_desktop_app_info_get_string (app_info, "X-Geoclue-Reason"); if (reason != NULL) { - char *tmp = msg; - msg = g_strdup_printf ("%s\n\n%s", msg, reason); - g_free (tmp); + char *tmp = g_strdup_printf ("%s\n\n%s", msg, reason); + + g_clear_pointer (&msg, g_free); + msg = tmp; } notification = notify_notification_new (_("Geolocation"), msg, "dialog-question"); - g_free (msg); data = g_slice_new0 (NotificationData); data->invocation = invocation; |