From a1e030a9679ae515c090193b74aaa4ce9daa09d7 Mon Sep 17 00:00:00 2001 From: albert-github Date: Wed, 10 Apr 2019 15:40:38 +0200 Subject: issue #6917 Crash in php with UTF-8 character Problem is that a value is fed to isspace that is not in the correct range and has to be converted to this range. compare also Assertion failure generation documentation (fdefe70a955c8140f080974319bbf97364d3e610 of March 30 2016). --- src/util.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/util.cpp b/src/util.cpp index f92df68..f63e742 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1869,7 +1869,7 @@ QCString removeRedundantWhiteSpace(const QCString &s) case '@': // '@name' -> ' @name' case '$': // '$name' -> ' $name' case '\'': // ''name' -> '' name' - if (i>0 && i0 && i ") id" { *dst++=' '; @@ -1913,14 +1913,14 @@ QCString removeRedundantWhiteSpace(const QCString &s) default: *dst++=c; if (c=='t' && csp==5 && i0 && isspace((uchar)s.at(i-1))) i--,l++; - else if (i+l<(int)s.length() && isspace(s.at(i+l))) + else if (i+l<(int)s.length() && isspace((uchar)s.at(i+l))) l++; s = s.left(i)+s.mid(i+l); // remove word + spacing return TRUE; -- cgit v0.12