summaryrefslogtreecommitdiff
path: root/libarchive/archive_write_set_format_iso9660.c
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2018-11-23 13:48:34 +0100
committerPavel Raiskup <praiskup@redhat.com>2018-11-23 14:28:32 +0100
commitecfd245fbd1b0000540c75da56ad25201d5393b4 (patch)
treed171770248cafe875abf125edce4a8c66a62e137 /libarchive/archive_write_set_format_iso9660.c
parentc114bb9fb585e7d74158afa7afbe8c44922479de (diff)
downloadlibarchive-ecfd245fbd1b0000540c75da56ad25201d5393b4.tar.gz
Fix a few obvious resource leaks and strcpy() misuses
Per Coverity report.
Diffstat (limited to 'libarchive/archive_write_set_format_iso9660.c')
-rw-r--r--libarchive/archive_write_set_format_iso9660.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libarchive/archive_write_set_format_iso9660.c b/libarchive/archive_write_set_format_iso9660.c
index c0ca435d..badc88ba 100644
--- a/libarchive/archive_write_set_format_iso9660.c
+++ b/libarchive/archive_write_set_format_iso9660.c
@@ -4899,10 +4899,10 @@ isofile_gen_utility_names(struct archive_write *a, struct isofile *file)
if (p[0] == '/') {
if (p[1] == '/')
/* Convert '//' --> '/' */
- strcpy(p, p+1);
+ memmove(p, p+1, strlen(p+1) + 1);
else if (p[1] == '.' && p[2] == '/')
/* Convert '/./' --> '/' */
- strcpy(p, p+2);
+ memmove(p, p+2, strlen(p+2) + 1);
else if (p[1] == '.' && p[2] == '.' && p[3] == '/') {
/* Convert 'dir/dir1/../dir2/'
* --> 'dir/dir2/'