Prevent fix 08/44308/1
authorSungmin Kwak <sungmin.kwak@samsung.com>
Tue, 7 Jul 2015 02:02:47 +0000 (11:02 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 21 Jul 2015 01:48:51 +0000 (10:48 +0900)
Change-Id: I394edd2a6a97801f6bcb0d4dde783c9a526e5456

ism/src/scim_utility.cpp

index bae722a743e4b73a4ae8f02c5316f5fc9200b35b..d73aa74d7968d30cdfacf96584dfbad0f3a286d4 100644 (file)
@@ -153,7 +153,9 @@ utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size)
         return 0;
 
     int count;
-    if (wc < 0x80) { // most offen case
+    if (wc < 0)
+        return RET_ILSEQ;
+    else if (wc < 0x80) { // most offen case
         if (dest_size < 1)
             return RET_TOOSMALL;
         dest[0] = wc;
@@ -167,10 +169,9 @@ utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size)
         count = 4;
     else if (wc < 0x4000000)
         count = 5;
-    else if (wc <= 0x7fffffff)
+    else //if (wc <= 0x7fffffff)
         count = 6;
-    else
-        return RET_ILSEQ;
+
     if (dest_size < count)
         return RET_TOOSMALL;
     switch (count) { /* note: code falls through cases! */