From 9b8b84a8126d039e3e0b5590ebde2157b5d33d77 Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Wed, 17 Jun 2015 16:08:15 +0900 Subject: [PATCH] Fix prevent issues 1. builder-set-property.cpp: Unsigned compared against 0 (NO_EFFECT) 3. text-selection-popup-impl.cpp: Integer overflowed argument (if numberOfOptions == 0) 4. text-controller-impl.cpp: Overflowed return value (if lineIndex == 0) 5. text-controller.cpp: Unsigned compared against 0 (NO_EFFECT) 6. solid-color-actor.cpp: Dereference null return value (pixbuf) Change-Id: I1b4d4c1a69dec7df300bdbb88fb503cbe336497a --- dali-toolkit/internal/builder/builder-set-property.cpp | 7 ++----- dali-toolkit/internal/text/text-controller-impl.cpp | 5 +++++ dali-toolkit/internal/text/text-controller.cpp | 3 +-- .../public-api/controls/default-controls/solid-color-actor.cpp | 5 +++++ 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dali-toolkit/internal/builder/builder-set-property.cpp b/dali-toolkit/internal/builder/builder-set-property.cpp index 77fa1f4..a1ed104 100644 --- a/dali-toolkit/internal/builder/builder-set-property.cpp +++ b/dali-toolkit/internal/builder/builder-set-property.cpp @@ -212,11 +212,8 @@ bool SetPropertyFromNode( const TreeNode& node, Property::Type type, Property::V { if( OptionalUnsignedInt v = replacer.IsUnsignedInteger( node) ) { - if( *v >= 0 ) // with a loss of resolution.... - { - value = *v; - done = true; - } + value = *v; + done = true; } break; } diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp index 2c59665..2d84c2d 100644 --- a/dali-toolkit/internal/text/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/text-controller-impl.cpp @@ -769,6 +769,11 @@ LineIndex Controller::Impl::GetClosestLine( float y ) const } } + if( lineIndex == 0 ) + { + return 0; + } + return lineIndex-1; } diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index 23ade2b..26d7ef0 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -337,8 +337,7 @@ bool Controller::RemoveText( int cursorOffset, int numberOfChars ) numberOfChars = currentText.Count() - cursorIndex; } - if( cursorIndex >= 0 && - (cursorIndex + numberOfChars) <= currentText.Count() ) + if( (cursorIndex + numberOfChars) <= currentText.Count() ) { Vector::Iterator first = currentText.Begin() + cursorIndex; Vector::Iterator last = first + numberOfChars; diff --git a/dali-toolkit/public-api/controls/default-controls/solid-color-actor.cpp b/dali-toolkit/public-api/controls/default-controls/solid-color-actor.cpp index a43c874..5bf8561 100644 --- a/dali-toolkit/public-api/controls/default-controls/solid-color-actor.cpp +++ b/dali-toolkit/public-api/controls/default-controls/solid-color-actor.cpp @@ -46,6 +46,11 @@ ImageActor CreateSolidColorActor( const Vector4& color, bool border, const Vecto // Create the image PixelBuffer* pixbuf = imageData.GetBuffer(); + if( !pixbuf ) + { + return image; + } + Vector4 outerColor = color; if ( border ) { -- 2.7.4