summaryrefslogtreecommitdiff
path: root/libarchive/archive_write_set_format_shar.c
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg.sonnenberger@gmail.com>2008-07-25 20:42:01 -0400
committerJoerg Sonnenberger <joerg.sonnenberger@gmail.com>2008-07-25 20:42:01 -0400
commit79a91ee3c447db0b7fe6f9d59f588dc25ff6bd01 (patch)
tree7975004b2770367ef070262093e5b9c1c2bb566c /libarchive/archive_write_set_format_shar.c
parent87db6efc059e4b2703f82d9d39dcf926d06e4fe4 (diff)
downloadlibarchive-79a91ee3c447db0b7fe6f9d59f588dc25ff6bd01.tar.gz
Avoid NULL dereference when destroy functions are called more
than once. SVN-Revision: 162
Diffstat (limited to 'libarchive/archive_write_set_format_shar.c')
-rw-r--r--libarchive/archive_write_set_format_shar.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libarchive/archive_write_set_format_shar.c b/libarchive/archive_write_set_format_shar.c
index b5d16e09..a6eaebff 100644
--- a/libarchive/archive_write_set_format_shar.c
+++ b/libarchive/archive_write_set_format_shar.c
@@ -549,6 +549,8 @@ archive_write_shar_destroy(struct archive_write *a)
struct shar *shar;
shar = (struct shar *)a->format_data;
+ if (shar == NULL)
+ return (ARCHIVE_OK);
if (shar->entry != NULL)
archive_entry_free(shar->entry);
if (shar->last_dir != NULL)