diff options
Diffstat (limited to 'user/libreoffice/mso-lockfile-utf16le.patch')
-rw-r--r-- | user/libreoffice/mso-lockfile-utf16le.patch | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/user/libreoffice/mso-lockfile-utf16le.patch b/user/libreoffice/mso-lockfile-utf16le.patch deleted file mode 100644 index e71413e0a..000000000 --- a/user/libreoffice/mso-lockfile-utf16le.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- 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 <algorithm> - #include <ucbhelper/content.hxx> - #include <comphelper/processfactory.hxx> -+#include <oox/helper/helper.hxx> - - #include <com/sun/star/io/IOException.hpp> - #include <com/sun/star/io/XOutputStream.hpp> -@@ -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<sal_Unicode*>(pBuf + 2), nUTF16Len); - aResult[LockFileComponent::OOOUSERNAME] - = OUString(reinterpret_cast<const sal_Unicode*>(pBuf + 2), nUTF16Len); -+ } - } - } - return aResult; |