!3 fix Index crash when meet encrypt .doc files

From: @tanyulong2021
Reviewed-by: @dou33
Signed-off-by: @dou33
This commit is contained in:
openeuler-ci-bot 2021-10-29 09:20:32 +00:00 committed by Gitee
commit 2898d1b3ea
2 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,37 @@
From b537d67f758a349b26afb15c1fba4aaa472a2186 Mon Sep 17 00:00:00 2001
From: tanyulong <tanyulong@kylinos.cn>
Date: Fri, 29 Oct 2021 14:44:36 +0800
Subject: [PATCH] fix Index crash when meet encrypt doc files
---
libsearch/parser/binary-parser.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libsearch/parser/binary-parser.cpp b/libsearch/parser/binary-parser.cpp
index 59e9ef4..e45ca67 100644
--- a/libsearch/parser/binary-parser.cpp
+++ b/libsearch/parser/binary-parser.cpp
@@ -4874,6 +4874,7 @@ bool KBinaryParser::read8DocText(FILE *pFile, const ppsInfoType *pPPS,
const ULONG *aulBlockDepot;
ULONG ulTextOffset, ulBeginTextInfo;
ULONG ulTotLength, ulLen;
+ ULONG ulEncryptInfo;
long lIndex, lPieces, lOff;
size_t tTextInfoLen, tBlockDepotLen, tBlockSize;
int iType, iLen;
@@ -4883,6 +4884,12 @@ bool KBinaryParser::read8DocText(FILE *pFile, const ppsInfoType *pPPS,
ulBeginTextInfo = ulGetLong(0x1a2, aucHeader); /* fcClx */
tTextInfoLen = (size_t)ulGetLong(0x1a6, aucHeader); /* lcbClx */
+ ulEncryptInfo = ulGetLong(0x0a, aucHeader);
+ if(ulEncryptInfo & 0x0100) {
+ qDebug() << "Encrypt file:" << m_strFileName << (size_t)ulEncryptInfo;
+ return false;
+ }
+
if(pPPS->tTable.ulSize == 0)
return false;
--
2.30.0

View File

@ -2,13 +2,14 @@
Name: ukui-search
Version: 0.4.1
Release: 2
Release: 3
Summary: Advanced ukui menu
License: GPL-3.0
URL: http://www.ukui.org
Source0: %{name}-%{version}.tar.gz
Patch0: 0001-Update-changelog.patch
Patch1: 0002-fix-Index-crash-when-meet-encrypt-doc-files.patch
BuildRequires: pkgconf
BuildRequires: gsettings-qt-devel
@ -84,6 +85,7 @@ permanent.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
mkdir build && cd build
@ -135,6 +137,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Fri Oct 29 2021 tanyulong <tanyulong@kylinos.cn> - 0.4.1-3
- fix Index crash when meet encrypt doc files
* Wed Oct 27 2021 tanyulong <tanyulong@kylin0s.cn> - 0.4.1-2
- Update changelog