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 --- src/data.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data.c b/src/data.c index 0b0f1f3..6e87455 100644 --- a/src/data.c +++ b/src/data.c @@ -259,13 +259,13 @@ xpmNextWord( int c; if (!data->type || data->type == XPMBUFFER) { - while (isspace(c = *data->cptr) && c != data->Eos) + while ((c = *data->cptr) && isspace(c) && (c != data->Eos)) data->cptr++; do { c = *data->cptr++; *buf++ = c; n++; - } while (!isspace(c) && c != data->Eos && n < buflen); + } while (c && !isspace(c) && (c != data->Eos) && (n < buflen)); n--; data->cptr--; } else { -- 2.41.0