diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-01-05 15:15:15 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-01-05 20:21:41 +0100 |
commit | cadfee0a72cf032314833959f7b7f3f6688a3079 (patch) | |
tree | 3ff4b6dea368d8bc5d694741a0c4b274d0c56e5b /i18nlangtag/source | |
parent | 86994e1c25bb5a2d0f97d17328457fa6dfd2f288 (diff) |
ofz#4952 avoid liblangtag config when fuzzing enabled
Change-Id: I9f2b0cbb5108f57ec2f80ebe24f748c33ea9cf59
Reviewed-on: https://gerrit.libreoffice.org/47477
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'i18nlangtag/source')
-rw-r--r-- | i18nlangtag/source/languagetag/languagetag.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 28842ccace6d..f9945f10c5c9 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -702,6 +702,14 @@ void LanguageTag::setConfiguredSystemLanguage( LanguageType nLang ) aLanguageTag.registerImpl(); } +static bool lt_tag_parse_disabled = false; + +// static +void LanguageTag::disable_lt_tag_parse() +{ + lt_tag_parse_disabled = true; +} + static bool lcl_isKnownOnTheFlyID( LanguageType nLang ) { return nLang != LANGUAGE_DONTKNOW && nLang != LANGUAGE_SYSTEM && @@ -1197,7 +1205,7 @@ bool LanguageTagImpl::canonicalize() myLtError aError; - if (lt_tag_parse( mpImplLangtag, OUStringToOString( maBcp47, RTL_TEXTENCODING_UTF8).getStr(), &aError.p)) + if (!lt_tag_parse_disabled && lt_tag_parse(mpImplLangtag, OUStringToOString(maBcp47, RTL_TEXTENCODING_UTF8).getStr(), &aError.p)) { char* pTag = lt_tag_canonicalize( mpImplLangtag, &aError.p); SAL_WARN_IF( !pTag, "i18nlangtag", "LanguageTagImpl::canonicalize: could not canonicalize '" << maBcp47 << "'"); @@ -2809,7 +2817,7 @@ bool LanguageTag::isValidBcp47( const OUString& rString, OUString* o_pCanonicali myLtError aError; - if (lt_tag_parse( aVar.mpLangtag, OUStringToOString( rString, RTL_TEXTENCODING_UTF8).getStr(), &aError.p)) + if (!lt_tag_parse_disabled && lt_tag_parse(aVar.mpLangtag, OUStringToOString(rString, RTL_TEXTENCODING_UTF8).getStr(), &aError.p)) { char* pTag = lt_tag_canonicalize( aVar.mpLangtag, &aError.p); SAL_WARN_IF( !pTag, "i18nlangtag", "LanguageTag:isValidBcp47: could not canonicalize '" << rString << "'"); |