X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=lzma%2Fcommon%2Fcommon.c;h=57e3f8ebd62a64a3325b2b9ace1ab7c9470cc89c;hb=62f6ff407bc4f2cf03d1fa7cf3dc9a3f4026624a;hp=28aa2b7142f47051a5d31ee3b1b0c8570c8cd3e2;hpb=32b8a6b26ed8843828e03e505d2256960bda0980;p=zpackage diff --git a/lzma/common/common.c b/lzma/common/common.c index 28aa2b7..57e3f8e 100644 --- a/lzma/common/common.c +++ b/lzma/common/common.c @@ -435,8 +435,10 @@ lzma_memlimit_set(lzma_stream *strm, uint64_t new_memlimit) || strm->internal->next.memconfig == NULL) return LZMA_PROG_ERROR; - if (new_memlimit != 0 && new_memlimit < LZMA_MEMUSAGE_BASE) - return LZMA_MEMLIMIT_ERROR; + // Zero is a special value that cannot be used as an actual limit. + // If 0 was specified, use 1 instead. + if (new_memlimit == 0) + new_memlimit = 1; return strm->internal->next.memconfig(strm->internal->next.coder, &memusage, &old_memlimit, new_memlimit);