/*-
- * Copyright (c) 2009,2010 Michihiro NAKAJIMA
+ * Copyright (c) 2009-2011 Michihiro NAKAJIMA
* Copyright (c) 2003-2008 Tim Kientzle and Miklos Vajna
* All rights reserved.
*
return (ARCHIVE_FATAL);
}
ret = lzma_raw_decoder(&(state->stream), filters);
+ free(filters[0].options);
if (ret != LZMA_OK) {
set_error(self, ret);
return (ARCHIVE_FATAL);
#endif
{
lzma_options_delta delta_opt;
- lzma_filter filters[LZMA_FILTERS_MAX];
+ lzma_filter filters[LZMA_FILTERS_MAX], *ff;
int fi = 0;
if (zip->lzstream_valid) {
else
filters[fi].id = LZMA_FILTER_LZMA1;
filters[fi].options = NULL;
+ ff = &filters[fi];
r = lzma_properties_decode(&filters[fi], NULL,
folder->coders[0].properties,
folder->coders[0].propertiesSize);
filters[fi].id = LZMA_VLI_UNKNOWN;
filters[fi].options = NULL;
r = lzma_raw_decoder(&(zip->lzstream), filters);
+ free(ff->options);
if (r != LZMA_OK) {
set_error(a, r);
return (ARCHIVE_FAILED);