mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-16 03:45:24 -05:00
1b7d5242c3
* gnu/packages/patches/libarchive-CVE-2013-0211.patch, gnu/packages/patches/libarchive-fix-lzo-test-case.patch, gnu/packages/patches/libarchive-mtree-filename-length-fix.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/backup.scm (libarchive)[source]: Add patches.
83 lines
2.9 KiB
Diff
83 lines
2.9 KiB
Diff
Description: This patch fixes test cases for LZO write support in various
|
|
architectures, such as armhf. Writing a certain amount of files would
|
|
cause the LZO compressor level 9 to produce a bigger archive than the
|
|
default compressor level.
|
|
Author: Andres Mejia <amejia@debian.org>
|
|
|
|
--- a/libarchive/test/test_write_filter_lzop.c
|
|
+++ b/libarchive/test/test_write_filter_lzop.c
|
|
@@ -39,7 +39,7 @@
|
|
size_t buffsize, datasize;
|
|
char path[16];
|
|
size_t used1, used2;
|
|
- int i, r, use_prog = 0;
|
|
+ int i, r, use_prog = 0, filecount;
|
|
|
|
assert((a = archive_write_new()) != NULL);
|
|
r = archive_write_add_filter_lzop(a);
|
|
@@ -58,9 +58,10 @@
|
|
|
|
datasize = 10000;
|
|
assert(NULL != (data = (char *)calloc(1, datasize)));
|
|
+ filecount = 10;
|
|
|
|
/*
|
|
- * Write a 100 files and read them all back.
|
|
+ * Write a filecount files and read them all back.
|
|
*/
|
|
assert((a = archive_write_new()) != NULL);
|
|
assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_ustar(a));
|
|
@@ -77,7 +78,7 @@
|
|
assert((ae = archive_entry_new()) != NULL);
|
|
archive_entry_set_filetype(ae, AE_IFREG);
|
|
archive_entry_set_size(ae, datasize);
|
|
- for (i = 0; i < 100; i++) {
|
|
+ for (i = 0; i < filecount; i++) {
|
|
sprintf(path, "file%03d", i);
|
|
archive_entry_copy_pathname(ae, path);
|
|
assertEqualIntA(a, ARCHIVE_OK, archive_write_header(a, ae));
|
|
@@ -97,7 +98,7 @@
|
|
} else {
|
|
assertEqualIntA(a, ARCHIVE_OK,
|
|
archive_read_open_memory(a, buff, used1));
|
|
- for (i = 0; i < 100; i++) {
|
|
+ for (i = 0; i < filecount; i++) {
|
|
sprintf(path, "file%03d", i);
|
|
if (!assertEqualInt(ARCHIVE_OK,
|
|
archive_read_next_header(a, &ae)))
|
|
@@ -133,7 +134,7 @@
|
|
archive_write_set_options(a, "lzop:compression-level=9"));
|
|
assertEqualIntA(a, ARCHIVE_OK,
|
|
archive_write_open_memory(a, buff, buffsize, &used2));
|
|
- for (i = 0; i < 100; i++) {
|
|
+ for (i = 0; i < filecount; i++) {
|
|
sprintf(path, "file%03d", i);
|
|
assert((ae = archive_entry_new()) != NULL);
|
|
archive_entry_copy_pathname(ae, path);
|
|
@@ -161,7 +162,7 @@
|
|
archive_read_support_filter_all(a));
|
|
assertEqualIntA(a, ARCHIVE_OK,
|
|
archive_read_open_memory(a, buff, used2));
|
|
- for (i = 0; i < 100; i++) {
|
|
+ for (i = 0; i < filecount; i++) {
|
|
sprintf(path, "file%03d", i);
|
|
if (!assertEqualInt(ARCHIVE_OK,
|
|
archive_read_next_header(a, &ae)))
|
|
@@ -186,7 +187,7 @@
|
|
archive_write_set_filter_option(a, NULL, "compression-level", "1"));
|
|
assertEqualIntA(a, ARCHIVE_OK,
|
|
archive_write_open_memory(a, buff, buffsize, &used2));
|
|
- for (i = 0; i < 100; i++) {
|
|
+ for (i = 0; i < filecount; i++) {
|
|
sprintf(path, "file%03d", i);
|
|
assert((ae = archive_entry_new()) != NULL);
|
|
archive_entry_copy_pathname(ae, path);
|
|
@@ -216,7 +217,7 @@
|
|
} else {
|
|
assertEqualIntA(a, ARCHIVE_OK,
|
|
archive_read_open_memory(a, buff, used2));
|
|
- for (i = 0; i < 100; i++) {
|
|
+ for (i = 0; i < filecount; i++) {
|
|
sprintf(path, "file%03d", i);
|
|
if (!assertEqualInt(ARCHIVE_OK,
|
|
archive_read_next_header(a, &ae)))
|