From 7e21cb63b9a1ca760a06cc4cd9b19bbc3fcd8f51 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 29 Apr 2023 18:30:34 -0700 Subject: [PATCH] Fix CVE-2023-43789: Out of bounds read on XPM with corrupted colormap Found with clang's libfuzzer Signed-off-by: Alan Coopersmith --- lib/Xm/Xpmdata.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Xm/Xpmdata.c b/lib/Xm/Xpmdata.c index 0b0f1f3..6e87455 100644 --- a/lib/Xm/Xpmdata.c +++ b/lib/Xm/Xpmdata.c @@ -259,13 +259,13 @@ xpmNextWord( int c; if (!mdata->type || mdata->type == XPMBUFFER) { - while (isspace(c = *mdata->cptr) && c != mdata->Eos) + while ((c = *mdata->cptr) && isspace(c) && (c != mdata->Eos)) mdata->cptr++; do { c = *mdata->cptr++; *buf++ = c; n++; - } while (!isspace(c) && c != mdata->Eos && n < buflen); + } while (c && !isspace(c) && (c != mdata->Eos) && (n < buflen)); n--; mdata->cptr--; } else { -- 2.41.0