diff options
author | Jia Tan <jiat0218@gmail.com> | 2023-05-08 22:58:09 +0800 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-05-11 22:28:45 +0800 |
commit | d0f33d672a4da7985ebb5ba8d829f885de49c171 (patch) | |
tree | 0200c537d23be7b4ad1f60ccd70574026b26f73a /src/liblzma/lz/lz_encoder.h | |
parent | Add NEWS for 5.4.3. (diff) | |
download | xz-d0f33d672a4da7985ebb5ba8d829f885de49c171.tar.xz |
liblzma: Creates IS_ENC_DICT_SIZE_VALID() macro.
This creates an internal liblzma macro to test if the dictionary size
is valid for encoding.
Diffstat (limited to '')
-rw-r--r-- | src/liblzma/lz/lz_encoder.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/liblzma/lz/lz_encoder.h b/src/liblzma/lz/lz_encoder.h index 7950a2f4..2027b39f 100644 --- a/src/liblzma/lz/lz_encoder.h +++ b/src/liblzma/lz/lz_encoder.h @@ -17,6 +17,14 @@ #include "common.h" +// For now, the dictionary size is limited to 1.5 GiB. This may grow +// in the future if needed, but it needs a little more work than just +// changing this check. +#define IS_ENC_DICT_SIZE_VALID(size) \ + ((size) >= LZMA_DICT_SIZE_MIN \ + && (size) <= (UINT32_C(1) << 30) + (UINT32_C(1) << 29)) + + /// A table of these is used by the LZ-based encoder to hold /// the length-distance pairs found by the match finder. typedef struct { |