Run through indent, fix comments
[oweals/busybox.git] / archival / libunarchive / unarchive.c
index 49908affb7e8c9854ce7d340c0a51f0ed6a5540c..03e3c3ec2934abb8eadb065679a7bf5519fd51d2 100644 (file)
@@ -58,9 +58,7 @@ char *extract_archive(FILE *src_stream, FILE *out_stream, const file_header_t *f
                                return(NULL);
                        }
                }
-               full_name = xmalloc(strlen(prefix) + strlen(path) + 1);
-               strcpy(full_name, prefix);
-               strcat(full_name, path);
+               bb_asprintf(&full_name, "%s%s", prefix, path);
        } else {
                full_name = file_entry->name;
        }
@@ -192,7 +190,9 @@ char *extract_archive(FILE *src_stream, FILE *out_stream, const file_header_t *f
                fprintf(out_stream, "%s\n", full_name);
        }
 
-       free(full_name);
+       if (prefix != NULL) {
+         free(full_name);
+       }
 
        return(NULL); /* Maybe we should say if failed */
 }