archive_string_ensure(&state->description, l) == NULL) {
archive_set_error(&self->archive->archive, ENOMEM,
"Can't allocate input data");
- archive_string_free(&state->description);
- free(state);
+ if (state != NULL) {
+ archive_string_free(&state->description);
+ free(state);
+ }
free(out_buf);
return (ARCHIVE_FATAL);
}
f->free = archive_compressor_program_free;
return (ARCHIVE_OK);
memerr:
+ free(data);
archive_compressor_program_free(f);
archive_set_error(_a, ENOMEM,
"Can't allocate memory for filter program");