File libmspack-chmd-READ_ENCINT-one-off.patch of Package libmspack.26620
Extracted from git to match CVE
Skipping chunks incorporated to fix-name-field-boundaries.patch
Skipping chunks incorporated to fix-pointer-arithmetic-overflow.patch
Skipping reverted chunks from bef420ede1039dbdc8d6acafa2f115be2ec86bef
From 3f8a171b95b858f2d98e60b6da8a427ef530516b Mon Sep 17 00:00:00 2001
From: Stuart Caie <kyzer@4u.net>
Date: Sun, 18 Jan 2015 23:11:39 +0000
Subject: [PATCH] better fix
---
libmspack/trunk/ChangeLog | 2 +-
libmspack/trunk/mspack/chmd.c | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
#diff --git a/libmspack/trunk/ChangeLog b/libmspack/trunk/ChangeLog
#index a59c779..63d88b5 100644
#--- a/libmspack/trunk/ChangeLog
#+++ b/libmspack/trunk/ChangeLog
#@@ -9,7 +9,7 @@
# * inflate(): off-by-one error. Distance codes are 0-29, not 0-30.
# Thanks to Jakub Wilk again.
#
#- * chmd_read_headers(), search_chunk(): another fix for checking name_len
#+ * chmd_read_headers(), search_chunk(): another fix for checking pointer
# is within a chunk, thanks again to Jakub Wilk.
#
# 2015-01-17 Stuart Caie <kyzer@4u.net>
diff --git a/libmspack/trunk/mspack/chmd.c b/libmspack/trunk/mspack/chmd.c
index da62f8b..5a6ef54 100644
--- a/libmspack/trunk/mspack/chmd.c
+++ b/libmspack/trunk/mspack/chmd.c
@@ -254,7 +254,7 @@ static const unsigned char guids[32] = {
#define READ_ENCINT(var) do { \
(var) = 0; \
do { \
- if (p > end) goto chunk_end; \
+ if (p >= end) goto chunk_end; \
(var) = ((var) << 7) | (*p & 0x7F); \
} while (*p++ & 0x80); \
} while (0)
--
2.4.3