From: Tim Kientzle Date: Tue, 10 Jan 2012 04:53:50 +0000 (-0500) Subject: Merge r4106 to fix Issue 221. X-Git-Tag: v3.0.3~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab0aaf3eb2f73e761e4ddff31fa1341c70fe8a5a;p=thirdparty%2Flibarchive.git Merge r4106 to fix Issue 221. SVN-Revision: 4107 --- diff --git a/libarchive/archive_virtual.c b/libarchive/archive_virtual.c index 752dc17c2..83089f27f 100644 --- a/libarchive/archive_virtual.c +++ b/libarchive/archive_virtual.c @@ -69,6 +69,8 @@ archive_read_close(struct archive *a) int archive_write_free(struct archive *a) { + if (a == NULL) + return (ARCHIVE_OK); return ((a->vtable->archive_free)(a)); } @@ -77,13 +79,15 @@ archive_write_free(struct archive *a) int archive_write_finish(struct archive *a) { - return ((a->vtable->archive_free)(a)); + return archive_write_free(a); } #endif int archive_read_free(struct archive *a) { + if (a == NULL) + return (ARCHIVE_OK); return ((a->vtable->archive_free)(a)); } @@ -92,7 +96,7 @@ archive_read_free(struct archive *a) int archive_read_finish(struct archive *a) { - return ((a->vtable->archive_free)(a)); + return archive_read_free(a); } #endif