summaryrefslogtreecommitdiff
path: root/i18nlangtag
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-01-05 15:15:15 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-01-05 20:21:41 +0100
commitcadfee0a72cf032314833959f7b7f3f6688a3079 (patch)
tree3ff4b6dea368d8bc5d694741a0c4b274d0c56e5b /i18nlangtag
parent86994e1c25bb5a2d0f97d17328457fa6dfd2f288 (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')
-rw-r--r--i18nlangtag/source/languagetag/languagetag.cxx12
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 << "'");