[Libreoffice-commits] core.git: external/icu

Stephan Bergmann sbergman at redhat.com
Tue Nov 22 14:35:21 UTC 2016


 external/icu/icu-ubsan.patch.0 |   10 ++++++++++
 1 file changed, 10 insertions(+)

New commits:
commit a0ed1c9ad9b72347eff85c80ab85d49e7a414396
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Nov 22 15:33:21 2016 +0100

    external/icu: Silence -fsanitize=null
    
    ...as seen during CppunitTest_sd_dialogs_test:
    
    > collationdatareader.cpp:422:13: runtime error: null pointer passed as argument 1, which is declared to never be null
    > /usr/include/string.h:66:33: note: nonnull attribute specified here
    >     #0 0x7fc3fc837f72 in icu_58::CollationDataReader::read(icu_58::CollationTailoring const*, unsigned char const*, int, icu_58::CollationTailoring&, UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/collationdatareader.cpp:422:13
    >     #1 0x7fc3fc7fc0bb in icu_58::CollationLoader::loadFromData(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:395:5
    >     #2 0x7fc3fc7fad16 in icu_58::CollationLoader::loadFromCollations(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:376:16
    >     #3 0x7fc3fc7f0c74 in icu_58::CollationLoader::createCacheEntry(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:221:16
    >     #4 0x7fc3fc7f079e in icu_58::LocaleCacheKey<icu_58::CollationCacheEntry>::createObject(void const*, UErrorCode&) const workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:144:20
    >     #5 0x7fc4262d558f in icu_58::UnifiedCache::_get(icu_58::CacheKeyBase const&, icu_58::SharedObject const*&, void const*, UErrorCode&) const workdir/UnpackedTarball/icu/source/common/unifiedcache.cpp:409:17
    >     #6 0x7fc3fc806774 in void icu_58::UnifiedCache::get<icu_58::CollationCacheEntry>(icu_58::CacheKey<icu_58::CollationCacheEntry> const&, void const*, icu_58::CollationCacheEntry const*&, UErrorCode&) const workdir/UnpackedTarball/icu/source/i18n/../common/unifiedcache.h:234:8
    >     #7 0x7fc3fc7f1c93 in icu_58::CollationLoader::getCacheEntry(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:466:12
    >     #8 0x7fc3fc7f76d4 in icu_58::CollationLoader::loadFromBundle(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:299:16
    >     #9 0x7fc3fc7f0ae5 in icu_58::CollationLoader::createCacheEntry(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:219:16
    >     #10 0x7fc3fc7f079e in icu_58::LocaleCacheKey<icu_58::CollationCacheEntry>::createObject(void const*, UErrorCode&) const workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:144:20
    >     #11 0x7fc4262d558f in icu_58::UnifiedCache::_get(icu_58::CacheKeyBase const&, icu_58::SharedObject const*&, void const*, UErrorCode&) const workdir/UnpackedTarball/icu/source/common/unifiedcache.cpp:409:17
    >     #12 0x7fc3fc806774 in void icu_58::UnifiedCache::get<icu_58::CollationCacheEntry>(icu_58::CacheKey<icu_58::CollationCacheEntry> const&, void const*, icu_58::CollationCacheEntry const*&, UErrorCode&) const workdir/UnpackedTarball/icu/source/i18n/../common/unifiedcache.h:234:8
    >     #13 0x7fc3fc7f1c93 in icu_58::CollationLoader::getCacheEntry(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:466:12
    >     #14 0x7fc3fc7f5a19 in icu_58::CollationLoader::loadFromLocale(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:247:16
    >     #15 0x7fc3fc7f0956 in icu_58::CollationLoader::createCacheEntry(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:217:16
    >     #16 0x7fc3fc7f079e in icu_58::LocaleCacheKey<icu_58::CollationCacheEntry>::createObject(void const*, UErrorCode&) const workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:144:20
    >     #17 0x7fc4262d558f in icu_58::UnifiedCache::_get(icu_58::CacheKeyBase const&, icu_58::SharedObject const*&, void const*, UErrorCode&) const workdir/UnpackedTarball/icu/source/common/unifiedcache.cpp:409:17
    >     #18 0x7fc3fc806774 in void icu_58::UnifiedCache::get<icu_58::CollationCacheEntry>(icu_58::CacheKey<icu_58::CollationCacheEntry> const&, void const*, icu_58::CollationCacheEntry const*&, UErrorCode&) const workdir/UnpackedTarball/icu/source/i18n/../common/unifiedcache.h:234:8
    >     #19 0x7fc3fc7f1c93 in icu_58::CollationLoader::getCacheEntry(UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:466:12
    >     #20 0x7fc3fc7f1525 in icu_58::CollationLoader::loadTailoring(icu_58::Locale const&, UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/ucol_res.cpp:164:19
    >     #21 0x7fc3fc7ba783 in icu_58::Collator::makeInstance(icu_58::Locale const&, UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/coll.cpp:460:40
    >     #22 0x7fc3fc7bb891 in icu_58::Collator::createInstance(icu_58::Locale const&, UErrorCode&) workdir/UnpackedTarball/icu/source/i18n/coll.cpp:448:16
    >     #23 0x7fc3f196cf17 in com::sun::star::i18n::Collator_Unicode::loadCollatorAlgorithm(rtl::OUString const&, com::sun::star::lang::Locale const&, int) i18npool/source/collator/collator_unicode.cxx:375:57
    >     #24 0x7fc3f1945c22 in com::sun::star::i18n::CollatorImpl::loadCollatorAlgorithm(rtl::OUString const&, com::sun::star::lang::Locale const&, int) i18npool/source/collator/collatorImpl.cxx:93:25
    >     #25 0x7fc3f1944a53 in com::sun::star::i18n::CollatorImpl::loadDefaultCollator(com::sun::star::lang::Locale const&, int) i18npool/source/collator/collatorImpl.cxx:79:20
    >     #26 0x7fc41d2c12e6 in CollatorWrapper::loadDefaultCollator(com::sun::star::lang::Locale const&, int) unotools/source/i18n/collatorwrapper.cxx:75:45
    
    Change-Id: I21868c0a80e06587f9ed802ec3f8d5a89f3cb9aa

diff --git a/external/icu/icu-ubsan.patch.0 b/external/icu/icu-ubsan.patch.0
index 8a47242..f16503e 100644
--- a/external/icu/icu-ubsan.patch.0
+++ b/external/icu/icu-ubsan.patch.0
@@ -151,3 +151,13 @@
                    length(len), next(subNode) {}
          virtual UBool operator==(const Node &other) const;
          virtual int32_t markRightEdgesFirst(int32_t edgeNumber);
+--- source/i18n/collationdatareader.cpp
++++ source/i18n/collationdatareader.cpp
+@@ -419,6 +419,7 @@
+             tailoring.data, ts, fastLatinPrimaries, UPRV_LENGTHOF(fastLatinPrimaries));
+     if(options == ts.options && ts.variableTop != 0 &&
+             reorderCodesLength == ts.reorderCodesLength &&
++            reorderCodesLength != 0 &&
+             uprv_memcmp(reorderCodes, ts.reorderCodes, reorderCodesLength * 4) == 0 &&
+             fastLatinOptions == ts.fastLatinOptions &&
+             (fastLatinOptions < 0 ||


More information about the Libreoffice-commits mailing list