Accepting request 892508 from home:Andreas_Schwab:Factory
- nan-undefined-conversion.patch: ICU-21613 Fix undefined behaviour in ComplexUnitsConverter::applyRounder OBS-URL: https://build.opensuse.org/request/show/892508 OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=149
This commit is contained in:
parent
4c26bb81c3
commit
370f2dda3b
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 12 08:23:58 UTC 2021 - Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
- nan-undefined-conversion.patch: ICU-21613 Fix undefined behaviour in
|
||||||
|
ComplexUnitsConverter::applyRounder
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Apr 10 22:41:04 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
|
Sat Apr 10 22:41:04 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
1
icu.spec
1
icu.spec
@ -44,6 +44,7 @@ Patch4: icu-fix-install-mode-files.diff
|
|||||||
Patch6: icu-error-reporting.diff
|
Patch6: icu-error-reporting.diff
|
||||||
Patch7: icu-avoid-x87-excess-precision.diff
|
Patch7: icu-avoid-x87-excess-precision.diff
|
||||||
Patch8: locale.diff
|
Patch8: locale.diff
|
||||||
|
Patch9: nan-undefined-conversion.patch
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
|
20
nan-undefined-conversion.patch
Normal file
20
nan-undefined-conversion.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schwab <schwab@suse.de>
|
||||||
|
Date: Tue, 11 May 2021 19:04:24 +0200
|
||||||
|
Subject: [PATCH] ICU-21613 Fix undefined behaviour in
|
||||||
|
ComplexUnitsConverter::applyRounder
|
||||||
|
|
||||||
|
--- a/source/i18n/units_complexconverter.cpp
|
||||||
|
+++ b/source/i18n/units_complexconverter.cpp
|
||||||
|
@@ -237,6 +237,11 @@ void ComplexUnitsConverter::applyRounder(MaybeStackArray<int64_t, 5> &intValues,
|
||||||
|
}
|
||||||
|
quantity = decimalQuantity.toDouble();
|
||||||
|
|
||||||
|
+ if (uprv_isNaN(quantity) || uprv_isInfinite(quantity)) {
|
||||||
|
+ // Do nothing for non-finite values, since conversion to int64_t is undefined
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
int32_t lastIndex = unitsConverters_.length() - 1;
|
||||||
|
if (lastIndex == 0) {
|
||||||
|
// Only one element, no need to bubble up the carry
|
Loading…
Reference in New Issue
Block a user