[gnome-session] save: fix use of uninitialized variable
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-session] save: fix use of uninitialized variable
- Date: Wed, 17 Jan 2018 15:14:06 +0000 (UTC)
commit 06ef3f7e6e8c6b368a65244c49e5b43a4b63437c
Author: Ray Strode <rstrode redhat com>
Date: Wed Jan 17 10:12:24 2018 -0500
save: fix use of uninitialized variable
We're trying to access the app id before we look it up.
This commit fixes that.
https://bugzilla.gnome.org/show_bug.cgi?id=790913
gnome-session/gsm-session-save.c | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)
---
diff --git a/gnome-session/gsm-session-save.c b/gnome-session/gsm-session-save.c
index 31b611c..a71a618 100644
--- a/gnome-session/gsm-session-save.c
+++ b/gnome-session/gsm-session-save.c
@@ -61,7 +61,7 @@ save_one_client (char *id,
{
GsmClient *client;
GKeyFile *keyfile;
- GsmApp *app;
+ GsmApp *app = NULL;
const char *app_id;
char *path = NULL;
char *filename = NULL;
@@ -74,9 +74,19 @@ save_one_client (char *id,
local_error = NULL;
- app = (GsmApp *)gsm_store_find (data->app_store,
- (GsmStoreFunc)_app_has_app_id,
- (char *)app_id);
+ app_id = gsm_client_peek_app_id (client);
+ if (!IS_STRING_EMPTY (app_id)) {
+ if (g_str_has_suffix (app_id, ".desktop"))
+ filename = g_strdup (app_id);
+ else
+ filename = g_strdup_printf ("%s.desktop", app_id);
+
+ path = g_build_filename (data->dir, filename, NULL);
+
+ app = (GsmApp *)gsm_store_find (data->app_store,
+ (GsmStoreFunc)_app_has_app_id,
+ (char *)app_id);
+ }
keyfile = gsm_client_save (client, app, &local_error);
if (keyfile == NULL || local_error) {
@@ -89,16 +99,6 @@ save_one_client (char *id,
goto out;
}
- app_id = gsm_client_peek_app_id (client);
- if (!IS_STRING_EMPTY (app_id)) {
- if (g_str_has_suffix (app_id, ".desktop"))
- filename = g_strdup (app_id);
- else
- filename = g_strdup_printf ("%s.desktop", app_id);
-
- path = g_build_filename (data->dir, filename, NULL);
- }
-
if (!path || g_file_test (path, G_FILE_TEST_EXISTS)) {
if (filename)
g_free (filename);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]