From 6db44bd9b7e133965f4557d4403d0dc6d8b370ad Mon Sep 17 00:00:00 2001 From: kientzle Date: Wed, 21 Jan 2009 06:55:27 +0000 Subject: Merge-from-Googlecode r419 In archive_write_disk: If archive_write_header() fails to create the file, that's a failure and should return ARCHIVE_FAILED. Metadata restore failures still return ARCHIVE_WARN, because that's non-critical. Fix test_write_disk_secure test to verify the correct return code in one case; add test_write_disk_failures to do another very simple test of restore failure. This should fix cpio coredumping when it tries to restore to a write-protected directory. Thanks to: Giorgos Keramidas MFC after: 30 days --- lib/libarchive/test/test_write_disk_secure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/libarchive/test/test_write_disk_secure.c') diff --git a/lib/libarchive/test/test_write_disk_secure.c b/lib/libarchive/test/test_write_disk_secure.c index bcb0bf4..b898c97 100644 --- a/lib/libarchive/test/test_write_disk_secure.c +++ b/lib/libarchive/test/test_write_disk_secure.c @@ -80,7 +80,7 @@ DEFINE_TEST(test_write_disk_secure) archive_entry_set_mode(ae, S_IFREG | 0777); archive_write_disk_set_options(a, ARCHIVE_EXTRACT_SECURE_SYMLINKS); failure("Extracting a file through a symlink should fail here."); - assertEqualInt(ARCHIVE_WARN, archive_write_header(a, ae)); + assertEqualInt(ARCHIVE_FAILED, archive_write_header(a, ae)); archive_entry_free(ae); assert(0 == archive_write_finish_entry(a)); -- cgit v1.1