From d7e5a71711acc59d51324fd29340e00b720ba625 Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Fri, 25 Nov 2022 19:29:48 -0600 Subject: user/libreoffice: Move to legacy/ We have decided to not ship LO for RC3 in its current form; bumping it to the latest version will require significant effort to bump Skia, which will be done post-RC3. --- legacy/libreoffice/mso-lockfile-utf16le.patch | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 legacy/libreoffice/mso-lockfile-utf16le.patch (limited to 'legacy/libreoffice/mso-lockfile-utf16le.patch') diff --git a/legacy/libreoffice/mso-lockfile-utf16le.patch b/legacy/libreoffice/mso-lockfile-utf16le.patch new file mode 100644 index 000000000..e71413e0a --- /dev/null +++ b/legacy/libreoffice/mso-lockfile-utf16le.patch @@ -0,0 +1,33 @@ +--- libreoffice-6.3.1.2/svl/source/misc/msodocumentlockfile.cxx 2019-08-29 16:51:57.000000000 -0500 ++++ libreoffice-6.3.1.2/svl/source/misc/msodocumentlockfile.cxx 2019-09-15 04:19:32.593900468 -0500 +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -220,7 +221,7 @@ LockFileEntry MSODocumentLockFile::GetLo + const int nACPLen = aBuf[0]; + if (nACPLen > 0 && nACPLen <= 52) // skip wrong format + { +- const sal_Int8* pBuf = aBuf.getConstArray() + 54; ++ sal_Int8* pBuf = aBuf.getArray() + 54; + int nUTF16Len = *pBuf; // try Word position + // If UTF-16 length is 0x20, then ACP length is also less than maximal, which means + // that in Word lockfile case, at least two preceding bytes would be zero. Both +@@ -228,9 +229,12 @@ LockFileEntry MSODocumentLockFile::GetLo + if (nUTF16Len == 0x20 && (*(pBuf - 1) != 0 || *(pBuf - 2) != 0)) + nUTF16Len = *++pBuf; // use Excel/PowerPoint position + +- if (nUTF16Len > 0 && nUTF16Len <= 52) // skip wrong format ++ if (nUTF16Len > 0 && nUTF16Len <= 52) { // skip wrong format ++ oox::ByteOrderConverter::convertLittleEndianArray( ++ reinterpret_cast(pBuf + 2), nUTF16Len); + aResult[LockFileComponent::OOOUSERNAME] + = OUString(reinterpret_cast(pBuf + 2), nUTF16Len); ++ } + } + } + return aResult; -- cgit v1.2.3-60-g2f50