aboutsummaryrefslogtreecommitdiff
path: root/tar/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'tar/write.c')
-rw-r--r--tar/write.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/tar/write.c b/tar/write.c
index 9e6c97b580b7..b39a397707ba 100644
--- a/tar/write.c
+++ b/tar/write.c
@@ -163,7 +163,7 @@ set_writer_options(struct bsdtar *bsdtar, struct archive *a)
* a format or filters which are not added to
* the archive write object. */
memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len);
- memcpy(p, writer_options, opt_len);
+ memcpy(p + module_len, writer_options, opt_len);
r = archive_write_set_options(a, p);
free(p);
if (r < ARCHIVE_WARN)
@@ -190,13 +190,12 @@ set_reader_options(struct bsdtar *bsdtar, struct archive *a)
char *p;
/* Set default write options. */
if ((p = malloc(module_len + opt_len)) == NULL)
- if (p == NULL)
lafe_errc(1, errno, "Out of memory");
/* Prepend magic code to ignore options for
* a format or filters which are not added to
* the archive write object. */
memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len);
- memcpy(p, reader_options, opt_len);
+ memcpy(p + module_len, reader_options, opt_len);
r = archive_read_set_options(a, p);
free(p);
if (r < ARCHIVE_WARN)