From a4ba4323529778ffa15c4285cd40d210c666363d Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 17 Nov 2018 13:12:13 +0100 Subject: [PATCH] Fix line counting in StringView.cpp - if fText is an empty string, we would start searching past its end, possibly leading to a crash (noticed this in HaikuDepot). - if fText is NULL, BString would report a size of 0 lines, it makes more sense to report a size of 1 line. --- src/kits/interface/StringView.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kits/interface/StringView.cpp b/src/kits/interface/StringView.cpp index 7f0337b8c4..fcc2fabaeb 100644 --- a/src/kits/interface/StringView.cpp +++ b/src/kits/interface/StringView.cpp @@ -591,8 +591,8 @@ BStringView::_ValidatePreferredSize() font_height fontHeight; GetFontHeight(&fontHeight); - int32 lines = 0; - char* temp = fText; + int32 lines = 1; + char* temp = fText ? strchr(fText, '\n') : NULL; while (temp != NULL) { temp = strchr(temp + 1, '\n'); lines++;