[PATCH 2/6] Fixed a memory leak in webservice.c
Lubomir I. Ivanov
neolit123 at gmail.com
Sat Feb 9 11:29:57 PST 2013
From: "Lubomir I. Ivanov" <neolit123 at gmail.com>
webservice.c:webservice_download_dialog()
If a value for previous UID is returned from the user config
via subsurface_get_conf("webservice_uid"), make sure to
free the string near the function return.
Signed-off-by: Lubomir I. Ivanov <neolit123 at gmail.com>
---
webservice.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/webservice.c b/webservice.c
index fec2ccf..531a571 100644
--- a/webservice.c
+++ b/webservice.c
@@ -199,10 +199,13 @@ void webservice_download_dialog(void)
GtkWidget *dialog, *vbox, *status, *info, *uid;
GtkWidget *frame_uid, *frame_status, *download, *image, *apply;
struct download_dialog_state state = {NULL};
+ gboolean has_previous_uid = TRUE;
int result;
- if (!current_uid)
+ if (!current_uid) {
current_uid = "";
+ has_previous_uid = FALSE;
+ }
dialog = gtk_dialog_new_with_buttons(_("Download From Web Service"),
GTK_WINDOW(main_window),
@@ -262,4 +265,6 @@ void webservice_download_dialog(void)
}
download_dialog_release_xml(&state);
gtk_widget_destroy(dialog);
+ if (has_previous_uid)
+ free((void *)current_uid);
}
--
1.7.11.msysgit.0
More information about the subsurface
mailing list