crashtesting: assert on exporting forum-mso-en4-531883.xls to xlsx
since: commit 5c841b381fe16634c51121b351c89154a25eb8d9 Date: Tue Mar 17 16:33:19 2026 +0530 XLSX: Truncate external sheet names if the length is > 31 Bug document: forum-mso-en4-109082.xls Change-Id: I0050bd63a28c74d2e337073f2815c6ffd17478c9 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1433 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CPCI <releng@collaboraoffice.com> (cherry picked from commit b71a8f85dd1b99a8d879bcf5ddebd185a4354c85) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206190 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This commit is contained in:
committed by
Xisco Fauli
parent
9de2f95044
commit
c11c29d401
@@ -894,6 +894,18 @@ OUString XclImpStream::ReadUniString( sal_uInt16 nChars, sal_uInt8 nFlags )
|
||||
std::size_t nExtSize = ReadUniStringExtHeader( b16Bit, nFlags );
|
||||
OUString aRet( ReadRawUniString( nChars, b16Bit ) );
|
||||
Ignore( nExtSize );
|
||||
|
||||
OString aUtf8Check;
|
||||
if (!aRet.convertToString(
|
||||
&aUtf8Check, RTL_TEXTENCODING_UTF8,
|
||||
RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
|
||||
| RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR))
|
||||
{
|
||||
SAL_WARN("sc", "invalid utf8 string, doing best-effort fix");
|
||||
aRet.convertToString(&aUtf8Check, RTL_TEXTENCODING_UTF8, OUSTRING_TO_OSTRING_CVTFLAGS);
|
||||
aRet = OStringToOUString(aUtf8Check, RTL_TEXTENCODING_UTF8);
|
||||
}
|
||||
|
||||
return aRet;
|
||||
}
|
||||
|
||||
@@ -953,6 +965,17 @@ OUString XclImpStream::ReadRawByteString( sal_uInt16 nChars )
|
||||
sal_uInt16 nCharsRead = ReadRawData( pcBuffer.get(), nChars );
|
||||
pcBuffer[ nCharsRead ] = '\0';
|
||||
OUString aRet( pcBuffer.get(), strlen(pcBuffer.get()), mrRoot.GetTextEncoding() );
|
||||
|
||||
OString aUtf8Check;
|
||||
if (!aRet.convertToString(
|
||||
&aUtf8Check, RTL_TEXTENCODING_UTF8,
|
||||
RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
|
||||
| RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR))
|
||||
{
|
||||
SAL_WARN("sc", "invalid utf8 string, doing best-effort fix");
|
||||
aRet.convertToString(&aUtf8Check, RTL_TEXTENCODING_UTF8, OUSTRING_TO_OSTRING_CVTFLAGS);
|
||||
aRet = OStringToOUString(aUtf8Check, RTL_TEXTENCODING_UTF8);
|
||||
}
|
||||
return aRet;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user