Fix prevent issues 44/41644/2
authorHeeyong Song <heeyong.song@samsung.com>
Wed, 17 Jun 2015 07:08:15 +0000 (16:08 +0900)
committerPaul Wisbey <p.wisbey@samsung.com>
Wed, 17 Jun 2015 12:35:04 +0000 (13:35 +0100)
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
dali-toolkit/internal/text/text-controller-impl.cpp
dali-toolkit/internal/text/text-controller.cpp
dali-toolkit/public-api/controls/default-controls/solid-color-actor.cpp

index 77fa1f4..a1ed104 100644 (file)
@@ -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;
     }
index 2c59665..2d84c2d 100644 (file)
@@ -769,6 +769,11 @@ LineIndex Controller::Impl::GetClosestLine( float y ) const
     }
   }
 
+  if( lineIndex == 0 )
+  {
+    return 0;
+  }
+
   return lineIndex-1;
 }
 
index 23ade2b..26d7ef0 100644 (file)
@@ -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<Character>::Iterator first = currentText.Begin() + cursorIndex;
       Vector<Character>::Iterator last  = first + numberOfChars;
index a43c874..5bf8561 100644 (file)
@@ -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 )
   {