Revert "libarchive: Use memcpy() when constructing buffers."
authorzrj <rimvydas.jasinskas@gmail.com>
Sat, 13 Apr 2019 12:29:20 +0000 (15:29 +0300)
committerzrj <zrj@dragonflybsd.org>
Wed, 24 Apr 2019 17:11:38 +0000 (20:11 +0300)
This reverts commit be16867234e89aa9cc5f9a12e3836f84f5268b80.

Before libarchive update.

contrib/libarchive/libarchive/archive_write_set_format_ar.c
contrib/libarchive/tar/read.c
contrib/libarchive/tar/write.c

index 1083062..9f17564 100644 (file)
@@ -181,7 +181,7 @@ archive_write_ar_header(struct archive_write *a, struct archive_entry *entry)
        }
 
        memset(buff, ' ', 60);
-       memcpy(&buff[AR_fmag_offset], "`\n", 2);
+       strncpy(&buff[AR_fmag_offset], "`\n", 2);
 
        if (strcmp(pathname, "/") == 0 ) {
                /* Entry is archive symbol table in GNU format */
@@ -190,7 +190,7 @@ archive_write_ar_header(struct archive_write *a, struct archive_entry *entry)
        }
        if (strcmp(pathname, "__.SYMDEF") == 0) {
                /* Entry is archive symbol table in BSD format */
-               memcpy(buff + AR_name_offset, "__.SYMDEF", 9);
+               strncpy(buff + AR_name_offset, "__.SYMDEF", 9);
                goto stat;
        }
        if (strcmp(pathname, "//") == 0) {
@@ -290,7 +290,7 @@ archive_write_ar_header(struct archive_write *a, struct archive_entry *entry)
                        buff[AR_name_offset + strlen(filename)] = ' ';
                }
                else {
-                       memcpy(buff + AR_name_offset, "#1/", 3);
+                       strncpy(buff + AR_name_offset, "#1/", 3);
                        if (format_decimal(strlen(filename),
                            buff + AR_name_offset + 3,
                            AR_name_size - 3)) {
index 27575cc..e94cb3d 100644 (file)
@@ -197,7 +197,7 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
                /* Prepend magic code to ignore options for
                 * a format or  modules which are not added to
                 *  the archive read object. */
-               memcpy(p, IGNORE_WRONG_MODULE_NAME,
+               strncpy(p, IGNORE_WRONG_MODULE_NAME,
                    sizeof(IGNORE_WRONG_MODULE_NAME) -1);
                strcpy(p + sizeof(IGNORE_WRONG_MODULE_NAME) -1, reader_options);
                r = archive_read_set_options(a, p);
index ae43ccc..53b6383 100644 (file)
@@ -154,7 +154,7 @@ set_writer_options(struct bsdtar *bsdtar, struct archive *a)
                /* 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,
+               strncpy(p, IGNORE_WRONG_MODULE_NAME,
                    sizeof(IGNORE_WRONG_MODULE_NAME) -1);
                strcpy(p + sizeof(IGNORE_WRONG_MODULE_NAME) -1, writer_options);
                r = archive_write_set_options(a, p);
@@ -187,7 +187,7 @@ set_reader_options(struct bsdtar *bsdtar, struct archive *a)
                /* 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,
+               strncpy(p, IGNORE_WRONG_MODULE_NAME,
                    sizeof(IGNORE_WRONG_MODULE_NAME) -1);
                strcpy(p + sizeof(IGNORE_WRONG_MODULE_NAME) -1, reader_options);
                r = archive_read_set_options(a, p);