diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-06-12 16:26:49 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-06-13 06:55:07 +0200 |
commit | 37dde4ef13dee5107249ff6604c0bb134235143e (patch) | |
tree | 36d3abc2ce47e1e923d4da4dd3cd32d0a2673f33 /writerfilter/source/dmapper/DomainMapper_Impl.cxx | |
parent | 48de2ac37366d5671aabc64364660311431d3235 (diff) |
crashtesting: assert seen on loading forum-mso-de-79405.docx
Change-Id: I91200a8e409eec76de4ead22d200bf45f02b88b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135679
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper_Impl.cxx')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 3d6b26dba8d3..30f07b351ca5 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -4332,8 +4332,17 @@ static OUString lcl_ParseFormat( const OUString& rCommand ) if (delimPos != -1) { // Remove whitespace permitted by standard between \@ and " - sal_Int32 wsChars = rCommand.indexOf('\"') - delimPos - 2; - command = rCommand.replaceAt(delimPos+2, wsChars, u""); + const sal_Int32 nQuoteIndex = rCommand.indexOf('\"'); + if (nQuoteIndex != -1) + { + sal_Int32 wsChars = nQuoteIndex - delimPos - 2; + command = rCommand.replaceAt(delimPos+2, wsChars, u""); + } + else + { + // turn date \@ MM into date \@"MM" + command = OUString::Concat(rCommand.subView(0, delimPos + 2)) + "\"" + o3tl::trim(rCommand.subView(delimPos + 2)) + "\""; + } return OUString(msfilter::util::findQuotedText(command, "\\@\"", '\"')); } |