From 7e76929aff68ccde48c63eb8f08c144de43cc59f Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Mon, 21 Mar 2022 10:31:09 +0100 Subject: Fix for issue #416: Fl_Xlib_Graphics_Driver_font_xft.cxx has a libasan error. --- src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/drivers/Xlib') diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx index c438dd5d5..723706f9b 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx @@ -1321,11 +1321,11 @@ int Fl_Xlib_Graphics_Driver::descent_unscaled() { static int font_name_process(const char *name, char &face) { int l = strlen(name); face = ' '; - if (!memcmp(name + l - 8, " Regular", 8)) l -= 8; - else if (!memcmp(name + l - 6, " Plain", 6)) l -= 6; - else if (!memcmp(name + l - 12, " Bold Italic", 12)) {l -= 12; face='P';} - else if (!memcmp(name + l - 7, " Italic", 7)) {l -= 7; face='I';} - else if (!memcmp(name + l - 5, " Bold", 5)) {l -= 5; face='B';} + if (l > 8 && !memcmp(name + l - 8, " Regular", 8)) l -= 8; + else if (l > 6 && !memcmp(name + l - 6, " Plain", 6)) l -= 6; + else if (l > 12 && !memcmp(name + l - 12, " Bold Italic", 12)) {l -= 12; face='P';} + else if (l > 7 && !memcmp(name + l - 7, " Italic", 7)) {l -= 7; face='I';} + else if (l > 5 && !memcmp(name + l - 5, " Bold", 5)) {l -= 5; face='B';} return l; } -- cgit v1.2.3