X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=lzma%2Fcommon%2Fcommon.c;fp=lzma%2Fcommon%2Fcommon.c;h=57e3f8ebd62a64a3325b2b9ace1ab7c9470cc89c;hb=a949e03f1030e8bacbd4aa6ca7143439c1c1d33b;hp=28aa2b7142f47051a5d31ee3b1b0c8570c8cd3e2;hpb=a9e7811b3d308a6987227a6f30d739971b8d17c8;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);