]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Merge r4106 to fix Issue 221.
authorTim Kientzle <kientzle@gmail.com>
Tue, 10 Jan 2012 04:53:50 +0000 (23:53 -0500)
committerTim Kientzle <kientzle@gmail.com>
Tue, 10 Jan 2012 04:53:50 +0000 (23:53 -0500)
SVN-Revision: 4107

libarchive/archive_virtual.c

index 752dc17c287485762ecc3f5af23c2bdc5f3b8713..83089f27f942faaf75d9a79312cd93d8af832adc 100644 (file)
@@ -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