]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix a bug that Clang Static Analyzer complains that
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sun, 11 Nov 2012 10:29:28 +0000 (19:29 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sun, 11 Nov 2012 10:29:28 +0000 (19:29 +0900)
"Dereference of null pointer".

libarchive/archive_write_add_filter_program.c

index 796586c1b200fbe5b68af194546c2f4891c047be..fc232da0cb5e943168ece3fbb364d76bc44f407c 100644 (file)
@@ -160,10 +160,13 @@ archive_compressor_program_free(struct archive_write_filter *f)
 {
        struct private_data *data = (struct private_data *)f->data;
 
-       free(data->cmd);
-       archive_string_free(&data->description);
-       __archive_write_program_free(data->pdata);
-       free(data);
+       if (data) {
+               free(data->cmd);
+               archive_string_free(&data->description);
+               __archive_write_program_free(data->pdata);
+               free(data);
+               f->data = NULL;
+       }
        return (ARCHIVE_OK);
 }