diff options
| author | Josh Law <objecting@objecting.org> | 2026-03-06 16:16:12 +0000 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-03-27 21:19:41 -0700 |
| commit | bc6cc36855e9ebcf0c7e01f980ad67bcb0e50bdb (patch) | |
| tree | e2463e4740b41474f8996b5303479c8f86c924c1 | |
| parent | e54f7f67e9b361b3213b5b75e0cf7167c1105fc7 (diff) | |
lib/inflate: fix memory leak in inflate_fixed() on inflate_codes() failure
When inflate_codes() fails in inflate_fixed(), only the length list 'l' is
freed, but the Huffman tables 'tl' and 'td' are leaked. Add the missing
huft_free() calls on the error path.
Link: https://lkml.kernel.org/r/20260306161612.2811703-1-objecting@objecting.org
Signed-off-by: Josh Law <objecting@objecting.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
| -rw-r--r-- | lib/inflate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/inflate.c b/lib/inflate.c index eab886baa1b4..5b1e70d0ce8c 100644 --- a/lib/inflate.c +++ b/lib/inflate.c @@ -811,6 +811,8 @@ DEBG("<fix"); /* decompress until an end-of-block code */ if (inflate_codes(tl, td, bl, bd)) { + huft_free(tl); + huft_free(td); free(l); return 1; } |
