Commit 1873f0d6 authored by Jehan's avatar Jehan

libgimpbase: fix memory leak in gimp_installation_directory().

Argh I should have properly reviewed !392 (commit c264f0b7).
It was leaking the return value of a g_path_get_basename().
parent 58b98b94
Pipeline #248328 passed with stages
in 65 minutes and 5 seconds
......@@ -399,6 +399,7 @@ gimp_installation_directory (void)
NSAutoreleasePool *pool;
NSString *resource_path;
gchar *basename;
gchar *basepath;
gchar *dirname;
pool = [[NSAutoreleasePool alloc] init];
......@@ -406,7 +407,8 @@ gimp_installation_directory (void)
resource_path = [[NSBundle mainBundle] resourcePath];
basename = g_path_get_basename ([resource_path UTF8String]);
dirname = g_path_get_dirname ([resource_path UTF8String]);
basepath = g_path_get_dirname ([resource_path UTF8String]);
dirname = g_path_get_basename (basepath);
if (! strcmp (basename, ".libs"))
{
......@@ -420,13 +422,13 @@ gimp_installation_directory (void)
* path is the directory which contains the executable
*/
toplevel = g_strdup (dirname);
toplevel = g_strdup (basepath);
}
else if (! strcmp (g_path_get_basename (dirname), "plug-ins"))
else if (! strcmp (dirname, "plug-ins"))
{
/* same for plug-ins in subdirectory, go three levels up from prefix/lib/gimp/x.y */
gchar *tmp = g_path_get_dirname (dirname);
gchar *tmp = g_path_get_dirname (basepath);
gchar *tmp2 = g_path_get_dirname (tmp);
gchar *tmp3 = g_path_get_dirname (tmp2);
......@@ -444,6 +446,7 @@ gimp_installation_directory (void)
}
g_free (basename);
g_free (basepath);
g_free (dirname);
[pool drain];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment