summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2010-06-01 23:26:54 +0200
committerDenys Vlasenko2010-06-01 23:26:54 +0200
commit8376bfae58f1e32325eef934aaea8116995bb96a (patch)
treeda78f5e596d3916ef6d8b767044f2899ec81b5cb
parentb9542cb2cee6d3b5984a7c82d7aec4a4556d2fe1 (diff)
downloadbusybox-8376bfae58f1e32325eef934aaea8116995bb96a.zip
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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/archival/libunarchive/decompress_unxz.c b/archival/libunarchive/decompress_unxz.c
index 374b76d..3f93929 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) {