]> granicus.if.org Git - transmission/commitdiff
#5920: Fix memory leak and access to freed memory in tr_getDefaultConfigDir (patch...
authorMike Gelfand <mikedld@mikedld.com>
Sun, 5 Apr 2015 06:39:06 +0000 (06:39 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Sun, 5 Apr 2015 06:39:06 +0000 (06:39 +0000)
libtransmission/platform.c

index 96d0e4bf760c97272956b379e114e4bf11a81495..8b8c66194af40dcbdadaf01696eb73fcf4a93a93 100644 (file)
@@ -330,10 +330,11 @@ tr_getDefaultConfigDir (const char * appname)
           find_directory (B_USER_SETTINGS_DIRECTORY, -1, true, buf, sizeof (buf));
           s = tr_buildPath (buf, appname, NULL);
 #else
-          if ((s = tr_env_get_string ("XDG_CONFIG_HOME", NULL)))
+          char * const xdg_config_home = tr_env_get_string ("XDG_CONFIG_HOME", NULL);
+          if (xdg_config_home != NULL)
             {
-              s = tr_buildPath (s, appname, NULL);
-              tr_free (s);
+              s = tr_buildPath (xdg_config_home, appname, NULL);
+              tr_free (xdg_config_home);
             }
           else
             {