From 3848cac30f3b7cd96d8add37fc3576f2ff00093e Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Sat, 9 Feb 2013 21:29:57 +0200 Subject: Fixed a memory leak in webservice.c 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 Signed-off-by: Dirk Hohndel --- webservice.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/webservice.c b/webservice.c index fec2ccf2d..531a571c3 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); } -- cgit v1.2.3-70-g09d2