Patch Boost.Locale to not access empty vector (#1899888)
This commit is contained in:
parent
820bf32137
commit
8158d2d41c
37
boost-1.73-locale-empty-vector.patch
Normal file
37
boost-1.73-locale-empty-vector.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From daf4ef50c88c2b9a6bf2c40b537eebc202caad6e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?S=C3=A9bastien=20Gonzalve?=
|
||||||
|
<sebastien.gonzalve@aliceadsl.fr>
|
||||||
|
Date: Sat, 14 Nov 2020 10:39:47 +0100
|
||||||
|
Subject: [PATCH] Do not try to access element when vector is empty
|
||||||
|
|
||||||
|
Trying to access tmp[0] causes a crash on Fedora when assertion on STL
|
||||||
|
are enabled.
|
||||||
|
|
||||||
|
/usr/include/c++/10/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector<_Tp, _Alloc>::reference = unsigned char&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
|
||||||
|
|
||||||
|
This patch just passes nullptr as pointer to getSortKey() when tmp size
|
||||||
|
is 0, preventing dereferencing elements in empty vector.
|
||||||
|
|
||||||
|
I guess that &tmp[0] should be optimized as 'no real access' when
|
||||||
|
disabling assertion, but actually leads to crash when assert are
|
||||||
|
enabled.
|
||||||
|
---
|
||||||
|
src/icu/collator.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libs/locale/src/icu/collator.cpp b/libs/locale/src/icu/collator.cpp
|
||||||
|
index 7f1ea6a..dc59e8c 100644
|
||||||
|
--- a/libs/locale/src/icu/collator.cpp
|
||||||
|
+++ b/libs/locale/src/icu/collator.cpp
|
||||||
|
@@ -93,7 +93,7 @@ namespace boost {
|
||||||
|
std::vector<uint8_t> tmp;
|
||||||
|
tmp.resize(str.length());
|
||||||
|
icu::Collator *collate = get_collator(level);
|
||||||
|
- int len = collate->getSortKey(str,&tmp[0],tmp.size());
|
||||||
|
+ int len = collate->getSortKey(str,tmp.empty()?nullptr:&tmp[0],tmp.size());
|
||||||
|
if(len > int(tmp.size())) {
|
||||||
|
tmp.resize(len);
|
||||||
|
collate->getSortKey(str,&tmp[0],tmp.size());
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
10
boost.spec
10
boost.spec
@ -42,7 +42,7 @@ Name: boost
|
|||||||
%global real_name boost
|
%global real_name boost
|
||||||
Summary: The free peer-reviewed portable C++ source libraries
|
Summary: The free peer-reviewed portable C++ source libraries
|
||||||
Version: 1.73.0
|
Version: 1.73.0
|
||||||
Release: 10%{?dist}
|
Release: 11%{?dist}
|
||||||
License: Boost and MIT and Python
|
License: Boost and MIT and Python
|
||||||
|
|
||||||
# Replace each . with _ in %%{version}
|
# Replace each . with _ in %%{version}
|
||||||
@ -171,6 +171,10 @@ Patch92: boost-1.73-mpi-vector-data.patch
|
|||||||
# https://github.com/boostorg/python/issues/325
|
# https://github.com/boostorg/python/issues/325
|
||||||
Patch93: boost-1.73-python3.10.patch
|
Patch93: boost-1.73-python3.10.patch
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1899888
|
||||||
|
# https://github.com/boostorg/locale/issues/52
|
||||||
|
Patch94: boost-1.73-locale-empty-vector.patch
|
||||||
|
|
||||||
%bcond_with tests
|
%bcond_with tests
|
||||||
%bcond_with docs_generated
|
%bcond_with docs_generated
|
||||||
|
|
||||||
@ -688,6 +692,7 @@ find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x
|
|||||||
%patch91 -p1
|
%patch91 -p1
|
||||||
%patch92 -p1
|
%patch92 -p1
|
||||||
%patch93 -p1
|
%patch93 -p1
|
||||||
|
%patch94 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Dump the versions being used into the build logs.
|
# Dump the versions being used into the build logs.
|
||||||
@ -1298,6 +1303,9 @@ fi
|
|||||||
%{_mandir}/man1/b2.1*
|
%{_mandir}/man1/b2.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Nov 20 2020 Jonathan Wakely <jwakely@redhat.com> - 1.73.0-11
|
||||||
|
- Patch Boost.Locale to not access empty vector (#1899888)
|
||||||
|
|
||||||
* Fri Nov 13 2020 Jonathan Wakely <jwakely@redhat.com> - 1.73.0-10
|
* Fri Nov 13 2020 Jonathan Wakely <jwakely@redhat.com> - 1.73.0-10
|
||||||
- Patch Boost.Python for Python 3.10 changes (#1896382)
|
- Patch Boost.Python for Python 3.10 changes (#1896382)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user