Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package icu for openSUSE:Factory checked in 
at 2021-05-15 23:15:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icu (Old)
 and      /work/SRC/openSUSE:Factory/.icu.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "icu"

Sat May 15 23:15:42 2021 rev:81 rq:892510 version:69.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/icu/icu.changes  2021-05-08 22:06:55.273871557 
+0200
+++ /work/SRC/openSUSE:Factory/.icu.new.2988/icu.changes        2021-05-15 
23:16:43.236611183 +0200
@@ -1,0 +2,6 @@
+Wed May 12 08:23:58 UTC 2021 - Andreas Schwab <sch...@suse.de>
+
+- nan-undefined-conversion.patch: ICU-21613 Fix undefined behaviour in
+  ComplexUnitsConverter::applyRounder
+
+-------------------------------------------------------------------

New:
----
  nan-undefined-conversion.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ icu.spec ++++++
--- /var/tmp/diff_new_pack.RtpvDA/_old  2021-05-15 23:16:43.904608575 +0200
+++ /var/tmp/diff_new_pack.RtpvDA/_new  2021-05-15 23:16:43.908608559 +0200
@@ -44,6 +44,7 @@
 Patch6:         icu-error-reporting.diff
 Patch7:         icu-avoid-x87-excess-precision.diff
 Patch8:         locale.diff
+Patch9:         nan-undefined-conversion.patch
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config




++++++ nan-undefined-conversion.patch ++++++
>From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <sch...@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

Reply via email to