From 4e5b68b45d420dccb55a9aa064111dc63b42591a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Wed, 27 Sep 2017 17:24:27 +0200 Subject: [PATCH] [escher] Fix bug due to int32 overflow Change-Id: If9760bd9082b7e3f8ebea04cef1df63bae39a2a6 --- escher/src/text_area.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/escher/src/text_area.cpp b/escher/src/text_area.cpp index f940a473d..7577b9249 100644 --- a/escher/src/text_area.cpp +++ b/escher/src/text_area.cpp @@ -304,6 +304,7 @@ TextArea::TextArea(Responder * parentResponder, char * textBuffer, m_contentView(textBuffer, textBufferSize, fontSize, textColor, backgroundColor), m_delegate(delegate) { + assert(textBufferSize < INT_MAX/2); } bool TextArea::TextArea::handleEvent(Ion::Events::Event event) { @@ -316,9 +317,9 @@ bool TextArea::TextArea::handleEvent(Ion::Events::Event event) { } else if (event == Ion::Events::Down) { m_contentView.moveCursorGeo(0, 1); } else if (event == Ion::Events::Origin) { - m_contentView.moveCursorGeo(-INT_MAX, 0); + m_contentView.moveCursorGeo(-INT_MAX/2, 0); } else if (event == Ion::Events::End) { - m_contentView.moveCursorGeo(INT_MAX, 0); + m_contentView.moveCursorGeo(INT_MAX/2, 0); } else if (event == Ion::Events::Backspace) { m_contentView.removeChar(); } else if (event.hasText()) {