aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjiat75 <jiat0218@gmail.com>2022-01-28 20:47:55 +0800
committerLasse Collin <lasse.collin@tukaani.org>2022-07-12 19:03:51 +0300
commite20ce2b12251a246c50fb5b7fa2204c11611b407 (patch)
tree11801cefdf9ef9c653395fb9e7983a752d1a3ea6 /src
parentCMake: Keep compatible with Windows 95 for 32-bit build. (diff)
downloadxz-e20ce2b12251a246c50fb5b7fa2204c11611b407.tar.xz
liblzma: Add NULL checks to LZMA and LZMA2 properties encoders.
Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode() assumed that the options pointers must be non-NULL because the with these filters the API says it must never be NULL. It is good to do these checks anyway.
Diffstat (limited to 'src')
-rw-r--r--src/liblzma/lzma/lzma2_encoder.c3
-rw-r--r--src/liblzma/lzma/lzma_encoder.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/liblzma/lzma/lzma2_encoder.c b/src/liblzma/lzma/lzma2_encoder.c
index 63588ee3..6914f279 100644
--- a/src/liblzma/lzma/lzma2_encoder.c
+++ b/src/liblzma/lzma/lzma2_encoder.c
@@ -378,6 +378,9 @@ lzma_lzma2_encoder_memusage(const void *options)
extern lzma_ret
lzma_lzma2_props_encode(const void *options, uint8_t *out)
{
+ if (options == NULL)
+ return LZMA_PROG_ERROR;
+
const lzma_options_lzma *const opt = options;
uint32_t d = my_max(opt->dict_size, LZMA_DICT_SIZE_MIN);
diff --git a/src/liblzma/lzma/lzma_encoder.c b/src/liblzma/lzma/lzma_encoder.c
index 07d2b87b..c1552f19 100644
--- a/src/liblzma/lzma/lzma_encoder.c
+++ b/src/liblzma/lzma/lzma_encoder.c
@@ -658,6 +658,9 @@ lzma_lzma_lclppb_encode(const lzma_options_lzma *options, uint8_t *byte)
extern lzma_ret
lzma_lzma_props_encode(const void *options, uint8_t *out)
{
+ if (options == NULL)
+ return LZMA_PROG_ERROR;
+
const lzma_options_lzma *const opt = options;
if (lzma_lzma_lclppb_encode(opt, out))