]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libiberty/make-relative-prefix.c
make-relative-prefix.c (make_relative_prefix_1): Fix resource leak.
[thirdparty/gcc.git] / libiberty / make-relative-prefix.c
index 037809e34edfabbf5288ece771676e227b64a098..be61040e18c7dfd9a9ec694764c14c90b46c1d07 100644 (file)
@@ -299,11 +299,17 @@ make_relative_prefix_1 (const char *progname, const char *bin_prefix,
     full_progname = strdup(progname);
 
   prog_dirs = split_directories (full_progname, &prog_num);
-  bin_dirs = split_directories (bin_prefix, &bin_num);
   free (full_progname);
-  if (bin_dirs == NULL || prog_dirs == NULL)
+  if (prog_dirs == NULL)
     return NULL;
 
+  bin_dirs = split_directories (bin_prefix, &bin_num);
+  if (bin_dirs == NULL)
+    {
+      free_split_directories (prog_dirs);
+      return NULL;
+    }
+
   /* Remove the program name from comparison of directory names.  */
   prog_num--;