X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fxpress-decompress.c;h=8d7741090dbae4519f9c97ccfb43c77836110b10;hp=f060d0b0df2afeccfec25fbae91d41321f6beda6;hb=737676a62120667d39b5a00efc5b3e84624fa744;hpb=9ca5c20853d3be06378fb985aa75c75df280d1e2 diff --git a/src/xpress-decompress.c b/src/xpress-decompress.c index f060d0b0..8d774109 100644 --- a/src/xpress-decompress.c +++ b/src/xpress-decompress.c @@ -71,6 +71,7 @@ #include "wimlib/decompressor_ops.h" #include "wimlib/decompress_common.h" +#include "wimlib/error.h" #include "wimlib/xpress.h" /* @@ -198,6 +199,16 @@ xpress_decompress(const void *compressed_data, size_t compressed_size, uncompressed_size, decode_table); } +static int +xpress_create_decompressor(size_t max_block_size, void **dec_ret) +{ + if (max_block_size > XPRESS_MAX_OFFSET + 1) + return WIMLIB_ERR_INVALID_PARAM; + + return 0; +} + const struct decompressor_ops xpress_decompressor_ops = { - .decompress = xpress_decompress, + .create_decompressor = xpress_create_decompressor, + .decompress = xpress_decompress, };