diff options
| -rw-r--r-- | lib/libalpm/add.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index 8b06bef5..42015224 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -290,7 +290,7 @@ static int extract_single_file(struct archive *archive,  		struct archive_entry *entry, pmpkg_t *newpkg, pmpkg_t *oldpkg,  		pmtrans_t *trans, pmdb_t *db)  { -	const char *entryname; /* the name of the file in the archive */ +	char entryname[PATH_MAX]; /* the name of the file in the archive */  	mode_t entrymode;  	char filename[PATH_MAX]; /* the actual file we're extracting */  	int needbackup = 0, notouch = 0; @@ -300,7 +300,7 @@ static int extract_single_file(struct archive *archive,  	                          ARCHIVE_EXTRACT_TIME;  	int errors = 0; -	entryname = archive_entry_pathname(entry); +	strncpy(entryname, archive_entry_pathname(entry), PATH_MAX);  	entrymode = archive_entry_mode(entry);  	memset(filename, 0, PATH_MAX); /* just to be sure */ | 
