clean_filename: use strdup instead of malloc and memcpy

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2024-01-25 14:30:59 +10:00
parent c64f898c48
commit dfee773364

View file

@ -754,14 +754,11 @@ static void init_total_progressbar(void)
static char *clean_filename(const char *filename) static char *clean_filename(const char *filename)
{ {
int len = strlen(filename);
char *p; char *p;
char *fname = malloc(len + 1); char *fname = strdup(filename);
memcpy(fname, filename, len + 1);
/* strip package or DB extension for cleaner look */ /* strip package or DB extension for cleaner look */
if((p = strstr(fname, ".pkg")) || (p = strstr(fname, ".db")) || (p = strstr(fname, ".files"))) { if((p = strstr(fname, ".pkg")) || (p = strstr(fname, ".db")) || (p = strstr(fname, ".files"))) {
len = p - fname; fname[p - fname] = '\0';
fname[len] = '\0';
} }
return fname; return fname;