Kaydet (Commit) f6706362 authored tarafından Caolán McNamara's avatar Caolán McNamara

coverity#1241372 Negative array index read

Change-Id: I73bae29c6cc737d341381c010face6b587b31598
üst faf99f6f
...@@ -611,28 +611,38 @@ sal_Unicode SAL_CALL NativeNumberSupplierService::getNativeNumberChar( const sal ...@@ -611,28 +611,38 @@ sal_Unicode SAL_CALL NativeNumberSupplierService::getNativeNumberChar( const sal
return j; return j;
return inChar; return inChar;
} }
else if (isNumber(inChar) && isValidNatNum(rLocale, nNativeNumberMode)) {
sal_Int16 langnum = getLanguageNumber(rLocale); if (!isNumber(inChar))
switch (nNativeNumberMode) { return inChar;
case NativeNumberMode::NATNUM1: // Char, Lower
case NativeNumberMode::NATNUM4: // Text, Lower, Long if (!isValidNatNum(rLocale, nNativeNumberMode))
case NativeNumberMode::NATNUM7: // Text. Lower, Short return inChar;
return NumberChar[natnum1[langnum]][inChar - NUMBER_ZERO];
case NativeNumberMode::NATNUM2: // Char, Upper sal_Int16 langnum = getLanguageNumber(rLocale);
case NativeNumberMode::NATNUM5: // Text, Upper, Long if (langnum == -1)
case NativeNumberMode::NATNUM8: // Text, Upper, Short return inChar;
return NumberChar[natnum2[langnum]][inChar - NUMBER_ZERO];
case NativeNumberMode::NATNUM3: // Char, FullWidth switch (nNativeNumberMode)
case NativeNumberMode::NATNUM6: // Text, FullWidth {
return NumberChar[NumberChar_FullWidth][inChar - NUMBER_ZERO]; case NativeNumberMode::NATNUM1: // Char, Lower
case NativeNumberMode::NATNUM9: // Char, Hangul case NativeNumberMode::NATNUM4: // Text, Lower, Long
case NativeNumberMode::NATNUM10: // Text, Hangul, Long case NativeNumberMode::NATNUM7: // Text. Lower, Short
case NativeNumberMode::NATNUM11: // Text, Hangul, Short return NumberChar[natnum1[langnum]][inChar - NUMBER_ZERO];
return NumberChar[NumberChar_Hangul_ko][inChar - NUMBER_ZERO]; case NativeNumberMode::NATNUM2: // Char, Upper
default: case NativeNumberMode::NATNUM5: // Text, Upper, Long
break; case NativeNumberMode::NATNUM8: // Text, Upper, Short
} return NumberChar[natnum2[langnum]][inChar - NUMBER_ZERO];
case NativeNumberMode::NATNUM3: // Char, FullWidth
case NativeNumberMode::NATNUM6: // Text, FullWidth
return NumberChar[NumberChar_FullWidth][inChar - NUMBER_ZERO];
case NativeNumberMode::NATNUM9: // Char, Hangul
case NativeNumberMode::NATNUM10: // Text, Hangul, Long
case NativeNumberMode::NATNUM11: // Text, Hangul, Short
return NumberChar[NumberChar_Hangul_ko][inChar - NUMBER_ZERO];
default:
break;
} }
return inChar; return inChar;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment