diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-06-01 23:26:54 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-06-01 23:26:54 +0200 |
commit | 8376bfae58f1e32325eef934aaea8116995bb96a (patch) | |
tree | da78f5e596d3916ef6d8b767044f2899ec81b5cb | |
parent | b9542cb2cee6d3b5984a7c82d7aec4a4556d2fe1 (diff) | |
download | busybox-8376bfae58f1e32325eef934aaea8116995bb96a.tar.gz |
decompress_unxz: allocate permanent crc32 table _fisrt_
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | archival/libunarchive/decompress_unxz.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/archival/libunarchive/decompress_unxz.c b/archival/libunarchive/decompress_unxz.c index 374b76d66..3f9392984 100644 --- a/archival/libunarchive/decompress_unxz.c +++ b/archival/libunarchive/decompress_unxz.c @@ -62,15 +62,15 @@ unpack_xz_stream(int src_fd, int dst_fd) OUT_SIZE = 60 * 1024, }; + if (!crc32_table) + crc32_table = crc32_filltable(NULL, /*endian:*/ 0); + membuf = xmalloc(IN_SIZE + OUT_SIZE); memset(&iobuf, 0, sizeof(iobuf)); iobuf.in = membuf; iobuf.out = membuf + IN_SIZE; iobuf.out_size = OUT_SIZE; - if (!crc32_table) - crc32_table = crc32_filltable(NULL, /*endian:*/ 0); - state = xz_dec_init(64*1024); /* initial dict of 64k */ while (1) { |