Fix memory leak in error path.
authorRob Landley <rob@landley.net>
Tue, 22 Jul 2014 00:55:06 +0000 (19:55 -0500)
committerRob Landley <rob@landley.net>
Tue, 22 Jul 2014 00:55:06 +0000 (19:55 -0500)
lib/dirtree.c

index 361686a..85b1a3c 100644 (file)
@@ -60,7 +60,9 @@ struct dirtree *dirtree_add_node(struct dirtree *parent, char *name,
 error:
   if (notdotdot(name)) {
     char *path = parent ? dirtree_path(parent, 0) : "";
-    perror_msg("%s%s%s",path, parent ? "/" : "", name);
+
+    perror_msg("%s%s%s", path, parent ? "/" : "", name);
+    if (parent) free(path);
   }
   if (parent) parent->symlink = (char *)1;
   free(dt);