Hello community,

here is the log from the commit of package chromium for openSUSE:Leap:15.2 
checked in at 2020-05-11 08:39:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/chromium (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.chromium.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chromium"

Mon May 11 08:39:00 2020 rev:106 rq:801761 version:81.0.4044.138

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/chromium/chromium.changes      2020-05-03 
14:30:53.704712776 +0200
+++ /work/SRC/openSUSE:Leap:15.2/.chromium.new.2738/chromium.changes    
2020-05-11 08:39:25.923035326 +0200
@@ -1,0 +2,12 @@
+Wed May  6 07:53:39 UTC 2020 - Tomáš Chvátal <tchva...@suse.com>
+
+- update to 81.0.4044.138 bsc#1171247:
+  * CVE-2020-6831: Stack buffer overflow in SCTP
+  * CVE-2020-6464: Type Confusion in Blink.
+
+-------------------------------------------------------------------
+Tue May  5 07:39:22 UTC 2020 - Ismail Dönmez <idon...@suse.com>
+
+- Add icu-v67.patch from upstream to fix build with icu v67 
+
+-------------------------------------------------------------------

Old:
----
  chromium-81.0.4044.129.tar.xz

New:
----
  chromium-81.0.4044.138.tar.xz
  icu-v67.patch

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

Other differences:
------------------
++++++ chromium.spec ++++++
--- /var/tmp/diff_new_pack.DaB0AB/_old  2020-05-11 08:39:31.951048373 +0200
+++ /var/tmp/diff_new_pack.DaB0AB/_new  2020-05-11 08:39:31.955048381 +0200
@@ -57,7 +57,7 @@
 %bcond_with clang
 %bcond_with wayland
 Name:           chromium
-Version:        81.0.4044.129
+Version:        81.0.4044.138
 Release:        0
 Summary:        Google's open source browser project
 License:        BSD-3-Clause AND LGPL-2.1-or-later
@@ -95,6 +95,7 @@
 Patch21:        chromium-80.0.3987.87-missing-string-header.patch
 Patch22:        chromium-80.0.3987.106-missing-cstddef-header.patch
 Patch23:        chromium-80.0.3987.87-missing-cstdint-header.patch
+Patch24:        icu-v67.patch
 # Google seem not too keen on merging this but GPU accel is quite important
 #  https://chromium-review.googlesource.com/c/chromium/src/+/532294
 #  
https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches

++++++ chromium-81.0.4044.129.tar.xz -> chromium-81.0.4044.138.tar.xz ++++++
/work/SRC/openSUSE:Leap:15.2/chromium/chromium-81.0.4044.129.tar.xz 
/work/SRC/openSUSE:Leap:15.2/.chromium.new.2738/chromium-81.0.4044.138.tar.xz 
differ: char 26, line 1


++++++ icu-v67.patch ++++++
>From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001
From: Frank Tang <ft...@chromium.org>
Date: Fri, 3 Apr 2020 23:13:54 -0700
Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions

Needed to land ICU67.1 soon.

Bug: v8:10393
Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
Reviewed-by: Jakob Kummerow <jkumme...@chromium.org>
Commit-Queue: Frank Tang <ft...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67027}

Index: chromium-81.0.4044.129/v8/src/objects/js-number-format.cc
===================================================================
--- chromium-81.0.4044.129.orig/v8/src/objects/js-number-format.cc
+++ chromium-81.0.4044.129/v8/src/objects/js-number-format.cc
@@ -1197,42 +1197,31 @@ MaybeHandle<JSNumberFormat> JSNumberForm
 }
 
 namespace {
-Maybe<icu::UnicodeString> IcuFormatNumber(
+Maybe<bool> IcuFormatNumber(
     Isolate* isolate,
     const icu::number::LocalizedNumberFormatter& number_format,
-    Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
+    Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
   // If it is BigInt, handle it differently.
   UErrorCode status = U_ZERO_ERROR;
-  icu::number::FormattedNumber formatted;
   if (numeric_obj->IsBigInt()) {
     Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
     Handle<String> big_int_string;
     ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
                                      BigInt::ToString(isolate, big_int),
-                                     Nothing<icu::UnicodeString>());
-    formatted = number_format.formatDecimal(
+                                     Nothing<bool>());
+    *formatted = number_format.formatDecimal(
         {big_int_string->ToCString().get(), big_int_string->length()}, status);
   } else {
     double number = numeric_obj->Number();
-    formatted = number_format.formatDouble(number, status);
+    *formatted = number_format.formatDouble(number, status);
   }
   if (U_FAILURE(status)) {
     // This happen because of icu data trimming trim out "unit".
     // See https://bugs.chromium.org/p/v8/issues/detail?id=8641
-    THROW_NEW_ERROR_RETURN_VALUE(isolate,
-                                 NewTypeError(MessageTemplate::kIcuError),
-                                 Nothing<icu::UnicodeString>());
-  }
-  if (fp_iter) {
-    formatted.getAllFieldPositions(*fp_iter, status);
+    THROW_NEW_ERROR_RETURN_VALUE(
+            isolate, NewTypeError(MessageTemplate::kIcuError), 
Nothing<bool>());
   }
-  icu::UnicodeString result = formatted.toString(status);
-  if (U_FAILURE(status)) {
-    THROW_NEW_ERROR_RETURN_VALUE(isolate,
-                                 NewTypeError(MessageTemplate::kIcuError),
-                                 Nothing<icu::UnicodeString>());
-  }
-  return Just(result);
+  return Just(true);
 }
 
 }  // namespace
@@ -1243,10 +1232,16 @@ MaybeHandle<String> JSNumberFormat::Form
     Handle<Object> numeric_obj) {
   DCHECK(numeric_obj->IsNumeric());
 
-  Maybe<icu::UnicodeString> maybe_format =
-      IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
+  icu::number::FormattedNumber formatted;
+  Maybe<bool> maybe_format =
+      IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
   MAYBE_RETURN(maybe_format, Handle<String>());
-  return Intl::ToString(isolate, maybe_format.FromJust());
+  UErrorCode status = U_ZERO_ERROR;
+  icu::UnicodeString result = formatted.toString(status);
+  if (U_FAILURE(status)) {
+    THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
+  }
+  return Intl::ToString(isolate, result);
 }
 
 namespace {
@@ -1359,12 +1354,18 @@ std::vector<NumberFormatSpan> FlattenReg
 }
 
 namespace {
-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& 
formatted,
-                          icu::FieldPositionIterator* fp_iter,
+Maybe<int> ConstructParts(Isolate* isolate,
+                          icu::number::FormattedNumber* formatted,
                           Handle<JSArray> result, int start_index,
                           Handle<Object> numeric_obj, bool style_is_unit) {
+  UErrorCode status = U_ZERO_ERROR;
+  icu::UnicodeString formatted_text = formatted->toString(status);
+  if (U_FAILURE(status)) {
+    THROW_NEW_ERROR_RETURN_VALUE(
+        isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
+  }
   DCHECK(numeric_obj->IsNumeric());
-  int32_t length = formatted.length();
+  int32_t length = formatted_text.length();
   int index = start_index;
   if (length == 0) return Just(index);
 
@@ -1373,13 +1374,14 @@ Maybe<int> ConstructParts(Isolate* isola
   // other region covers some part of the formatted string. It's possible
   // there's another field with exactly the same begin and end as this 
backdrop,
   // in which case the backdrop's field_id of -1 will give it lower priority.
-  regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
+  regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
 
   {
-    icu::FieldPosition fp;
-    while (fp_iter->next(fp)) {
-      regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
-                                         fp.getEndIndex()));
+    icu::ConstrainedFieldPosition cfp;
+    cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
+    while (formatted->nextPosition(cfp, status)) {
+        regions.push_back(
+                NumberFormatSpan(cfp.getField(), cfp.getStart(), 
cfp.getLimit()));
     }
   }
 
@@ -1401,7 +1403,7 @@ Maybe<int> ConstructParts(Isolate* isola
     Handle<String> substring;
     ASSIGN_RETURN_ON_EXCEPTION_VALUE(
         isolate, substring,
-        Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
+        Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
         Nothing<int>());
     Intl::AddElement(isolate, result, index, field_type_string, substring);
     ++index;
@@ -1421,14 +1423,14 @@ MaybeHandle<JSArray> JSNumberFormat::For
       number_format->icu_number_formatter().raw();
   CHECK_NOT_NULL(fmt);
 
-  icu::FieldPositionIterator fp_iter;
-  Maybe<icu::UnicodeString> maybe_format =
-      IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
+  icu::number::FormattedNumber formatted;
+  Maybe<bool> maybe_format =
+      IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
   MAYBE_RETURN(maybe_format, Handle<JSArray>());
 
   Handle<JSArray> result = factory->NewJSArray(0);
   Maybe<int> maybe_format_to_parts = ConstructParts(
-      isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
+      isolate, &formatted, result, 0, numeric_obj,
       number_format->style() == JSNumberFormat::Style::UNIT);
   MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
 

Reply via email to