From b9e40ff1bf74b4c5b9341d2bd5d6b061437ac963 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Wed, 15 Apr 2020 17:54:55 +0000
Subject: [PATCH] More weirdness uncovered by Coverity. To be fair, this is all
 weird.

---
 src/encode/lzh.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/encode/lzh.c b/src/encode/lzh.c
index 70e7447c83..80f1ed3519 100644
--- a/src/encode/lzh.c
+++ b/src/encode/lzh.c
@@ -450,7 +450,7 @@ static void lzh_update(lzh_t* lzh, short int c)
 
 		/* swap nodes to keep the tree freq-ordered */
 		if (((unsigned)k) > ((unsigned)lzh->freq[l = c + 1])) {
-			while (k > lzh->freq[++l]);
+			while (l < (sizeof(lzh->freq) / sizeof(lzh->freq[0])) && k > lzh->freq[++l]);
 			l--;
 			lzh->freq[c] = lzh->freq[l];
 			lzh->freq[l] = k;
-- 
GitLab