Applied vodz' patches #49 and #50 (with a small correction in runshell.c)

#49: I found one memory overflow and memory leak in "ln" applet.
Last patch reduced also 54 bytes. ;)

#50: I found bug in loginutils/Makefile.in.
New patch have also new function to libbb and
aplied this to applets and other cosmetic changes.
This commit is contained in:
Robert Griebl
2002-07-19 00:05:54 +00:00
parent 88947dd05e
commit d378c3149c
18 changed files with 64 additions and 79 deletions

View File

@@ -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");

View File

@@ -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';

View 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;
}