File icu-CVE-2010-4409.patch of Package icu

Index: icu/source/i18n/unum.cpp
===================================================================
--- icu.orig/source/i18n/unum.cpp
+++ icu/source/i18n/unum.cpp
@@ -755,7 +755,7 @@ unum_getSymbol(const UNumberFormat *fmt,
         return 0;
     }
     
-    if(fmt==NULL || (uint16_t)symbol>=UNUM_FORMAT_SYMBOL_COUNT) {
+    if(fmt==NULL || symbol< 0 || symbol>=UNUM_FORMAT_SYMBOL_COUNT) {
         *status=U_ILLEGAL_ARGUMENT_ERROR;
         return 0;
     }
@@ -782,7 +782,7 @@ unum_setSymbol(UNumberFormat *fmt,
         return;
     }
     
-    if(fmt==NULL || (uint16_t)symbol>=UNUM_FORMAT_SYMBOL_COUNT || value==NULL || length<-1) {
+    if(fmt==NULL || symbol< 0 || symbol>=UNUM_FORMAT_SYMBOL_COUNT || value==NULL || length<-1) {
         *status=U_ILLEGAL_ARGUMENT_ERROR;
         return;
     }
openSUSE Build Service is sponsored by