diff options
Diffstat (limited to 'archival')
-rw-r--r-- | archival/gunzip.c | 3 | ||||
-rw-r--r-- | archival/libunarchive/get_header_ar.c | 3 | ||||
-rw-r--r-- | archival/libunarchive/unarchive.c | 4 |
3 files changed, 3 insertions, 7 deletions
diff --git a/archival/gunzip.c b/archival/gunzip.c index 83ed5e84a..4ab197f09 100644 --- a/archival/gunzip.c +++ b/archival/gunzip.c @@ -119,8 +119,7 @@ static int gunzip_file (const char *path, int flags) } else { error_msg_and_die("Invalid extension"); } - out_path = (char *) xcalloc(sizeof(char), length + 1); - strncpy(out_path, path, length); + out_path = xstrndup(path, length); /* Open output file */ out_file = xfopen(out_path, "w"); diff --git a/archival/libunarchive/get_header_ar.c b/archival/libunarchive/get_header_ar.c index 1618b767f..f172fa7c9 100644 --- a/archival/libunarchive/get_header_ar.c +++ b/archival/libunarchive/get_header_ar.c @@ -91,8 +91,7 @@ file_header_t *get_header_ar(FILE *src_stream) } } else { /* short filenames */ - typed->name = xcalloc(1, 16); - strncpy(typed->name, ar.formated.name, 16); + typed->name = xstrndup(ar.formated.name, 16); } typed->name[strcspn(typed->name, " /")]='\0'; diff --git a/archival/libunarchive/unarchive.c b/archival/libunarchive/unarchive.c index 312b498a1..03e3c3ec2 100644 --- a/archival/libunarchive/unarchive.c +++ b/archival/libunarchive/unarchive.c @@ -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; } |