diff options
author | kientzle <kientzle@FreeBSD.org> | 2008-12-17 19:05:00 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2008-12-17 19:05:00 +0000 |
commit | 474c42e7c8623ee9e1a49f538a39f04e9d2a6c34 (patch) | |
tree | caee5e94d9ea26a228bbc483c72cae2dfb89c52a /lib | |
parent | 33d241da2717bcf4179845bfa92b0e117281d5e3 (diff) | |
download | FreeBSD-src-474c42e7c8623ee9e1a49f538a39f04e9d2a6c34.zip FreeBSD-src-474c42e7c8623ee9e1a49f538a39f04e9d2a6c34.tar.gz |
Once the test has failed, exit before the segfault.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libarchive/test/test_compat_gtar.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/libarchive/test/test_compat_gtar.c b/lib/libarchive/test/test_compat_gtar.c index a083855..bf9817b 100644 --- a/lib/libarchive/test/test_compat_gtar.c +++ b/lib/libarchive/test/test_compat_gtar.c @@ -43,6 +43,7 @@ test_compat_gtar_1(void) char name[] = "test_compat_gtar_1.tgz"; struct archive_entry *ae; struct archive *a; + int r; assert((a = archive_read_new()) != NULL); assertEqualIntA(a, ARCHIVE_OK, archive_read_support_compression_all(a)); @@ -51,7 +52,11 @@ test_compat_gtar_1(void) assertEqualIntA(a, ARCHIVE_OK, archive_read_open_filename(a, name, 10240)); /* Read first entry. */ - assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); + assertEqualIntA(a, ARCHIVE_OK, r = archive_read_next_header(a, &ae)); + if (r != ARCHIVE_OK) { + archive_read_finish(a); + return; + } assertEqualString( "12345678901234567890123456789012345678901234567890" "12345678901234567890123456789012345678901234567890" @@ -66,7 +71,11 @@ test_compat_gtar_1(void) assertEqualInt(0100644, archive_entry_mode(ae)); /* Read second entry. */ - assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); + assertEqualIntA(a, ARCHIVE_OK, r = archive_read_next_header(a, &ae)); + if (r != ARCHIVE_OK) { + archive_read_finish(a); + return; + } assertEqualString( "abcdefghijabcdefghijabcdefghijabcdefghijabcdefghij" "abcdefghijabcdefghijabcdefghijabcdefghijabcdefghij" |