Changeset: 3285a008f907 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3285a008f907
Modified Files:
common/stream/stream.c
Branch: Mar2018
Log Message:
Fix lzma rewind in open_xzstream
When no UTF-8 BOM is found, we have to reset the decoder state
when rewinding the stream.
diffs (23 lines):
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -1629,7 +1629,18 @@ open_xzstream(const char *restrict filen
strncmp(buf, UTF8BOM, UTF8BOMLENGTH) == 0) {
s->isutf8 = 1;
} else {
- rewind(xz->fp);
+ FILE *fp = xz->fp;
+ lzma_ret ret;
+ lzma_end(&xz->strm);
+ ret = lzma_stream_decoder(&xz->strm, UINT64_MAX,
LZMA_CONCATENATED);
+ if (ret != LZMA_OK) {
+ destroy(s);
+ free(xz);
+ fclose(fp);
+ return NULL;
+ }
+ rewind(fp);
+ xz->fp = fp;
}
}
return s;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list