summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2006-11-06 16:51:28 +0000
committerRay Strode <rstrode@redhat.com>2006-11-06 16:51:28 +0000
commitd983e48807739779c09eb1bf2a336d891176839c (patch)
treea3047738ed904042d8fd58798a6833601ffb50d1
parent0f0075ce04abe3a56c87e0eeb8384e994de06c7d (diff)
fix a couple of mem leaks. Patch from Pascal Terjan (gnoem bug 345686)
2006-11-06 Ray Strode <rstrode@redhat.com> * src/desktop_file.c: fix a couple of mem leaks. Patch from Pascal Terjan (gnoem bug 345686)
-rw-r--r--ChangeLog6
-rw-r--r--src/desktop_file.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7764a0f..c12b313 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
2006-11-06 Ray Strode <rstrode@redhat.com>
* src/desktop_file.c:
+ fix a couple of mem leaks. Patch from Pascal Terjan
+ (gnoem bug 345686)
+
+2006-11-06 Ray Strode <rstrode@redhat.com>
+
+ * src/desktop_file.c:
move g_free inside if branch to prevent a double free in
the else case. Patch from Pascal Terjan (gnome bug
345309)
diff --git a/src/desktop_file.c b/src/desktop_file.c
index 18f8db4..05f03cd 100644
--- a/src/desktop_file.c
+++ b/src/desktop_file.c
@@ -1166,7 +1166,10 @@ gnome_desktop_file_get_locale_string (GnomeDesktopFile *df,
g_free (with_territory);
if (raw == NULL)
- return FALSE;
+ {
+ g_free (used_locale);
+ return FALSE;
+ }
if (gnome_desktop_file_get_encoding (df) == GNOME_DESKTOP_FILE_ENCODING_UTF8)
{
@@ -1226,6 +1229,7 @@ gnome_desktop_file_get_locale_string (GnomeDesktopFile *df,
else
{
g_printerr ("Desktop file doesn't have its encoding marked, can't parse it.\n");
+ g_free (used_locale);
return FALSE;
}
}