hwpfilter/source/hpara.cxx | 2 +- hwpfilter/source/hpara.h | 2 +- hwpfilter/source/htags.cxx | 2 +- hwpfilter/source/hwpfile.cxx | 6 ------ hwpfilter/source/hwpfile.h | 5 +---- hwpfilter/source/hwpread.cxx | 8 ++++---- 6 files changed, 8 insertions(+), 17 deletions(-)
New commits: commit 4fed3b2ed15730fcb7a5b7e0ef09d77bd40436e6 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Oct 12 20:59:26 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Oct 13 11:02:05 2021 +0200 ditch problematic HWPFile::Read4b variant Change-Id: Ied3603d8f96e15013f657fc5d8150969ae3b808d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123534 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/hwpfilter/source/hpara.cxx b/hwpfilter/source/hpara.cxx index 415c8e984eb3..736188f1ad9e 100644 --- a/hwpfilter/source/hpara.cxx +++ b/hwpfilter/source/hpara.cxx @@ -98,7 +98,7 @@ bool HWPPara::Read(HWPFile & hwpf, unsigned char flag) hwpf.Read2b(&nline, 1); hwpf.Read1b(contain_cshape); hwpf.Read1b(etcflag); - hwpf.Read4b(&ctrlflag, 1); + hwpf.Read4b(ctrlflag); hwpf.Read1b(pstyno); /* Paragraph representative character */ diff --git a/hwpfilter/source/hpara.h b/hwpfilter/source/hpara.h index d3b0b788970e..58694899ea38 100644 --- a/hwpfilter/source/hpara.h +++ b/hwpfilter/source/hpara.h @@ -104,7 +104,7 @@ class DLLEXPORT HWPPara /** * Checks the special characters in the paragraph */ - tools::ULong ctrlflag; + uint ctrlflag; unsigned char pstyno; std::shared_ptr<CharShape> cshape; /* When characters are all the same shape */ std::shared_ptr<ParaShape> pshape; /* if reuse flag is 0, */ diff --git a/hwpfilter/source/htags.cxx b/hwpfilter/source/htags.cxx index 334e2b0f3b47..b8cafcf38675 100644 --- a/hwpfilter/source/htags.cxx +++ b/hwpfilter/source/htags.cxx @@ -98,7 +98,7 @@ void OlePicture::Read(HWPFile & hwpf) return; // We process only FILESTG_SIGNATURE_NORMAL. - hwpf.Read4b(&signature, 1); + hwpf.Read4b(signature); if (signature != FILESTG_SIGNATURE_NORMAL) return; #ifdef _WIN32 diff --git a/hwpfilter/source/hwpfile.cxx b/hwpfilter/source/hwpfile.cxx index 3f67111691c4..171b7e1a9e8d 100644 --- a/hwpfilter/source/hwpfile.cxx +++ b/hwpfilter/source/hwpfile.cxx @@ -158,12 +158,6 @@ size_t HWPFile::Read2b(void *ptr, size_t nmemb) return hiodev ? hiodev->read2b(ptr, nmemb) : 0; } -void HWPFile::Read4b(void *ptr, size_t nmemb) -{ - if (hiodev) - hiodev->read4b(ptr, nmemb); -} - size_t HWPFile::ReadBlock(void *ptr, size_t size) { return hiodev ? hiodev->readBlock(ptr, size) : 0; diff --git a/hwpfilter/source/hwpfile.h b/hwpfilter/source/hwpfile.h index 9cc3b72a7c65..867a05fb7418 100644 --- a/hwpfilter/source/hwpfile.h +++ b/hwpfilter/source/hwpfile.h @@ -139,10 +139,7 @@ class DLLEXPORT HWPFile * Reads nmemb short type array from HIODev */ size_t Read2b(void *ptr, size_t nmemb); -/** - * Reads nmemb long type array from HIODev - */ - void Read4b( void *ptr, size_t nmemb ); + /** * Reads some bytes from HIODev not regarding endian's way * @param size Amount for reading diff --git a/hwpfilter/source/hwpread.cxx b/hwpfilter/source/hwpread.cxx index c81aaa153797..8e4a96c726d0 100644 --- a/hwpfilter/source/hwpread.cxx +++ b/hwpfilter/source/hwpread.cxx @@ -46,7 +46,7 @@ bool HBox::Read(HWPFile & ) bool SkipData::Read(HWPFile & hwpf) { uint data_block_len; - hwpf.Read4b(&data_block_len, 1); + hwpf.Read4b(data_block_len); hchar dummy; if (!hwpf.Read2b(dummy)) @@ -73,7 +73,7 @@ bool FieldCode::Read(HWPFile & hwpf) if (!hwpf.Read2b(dummy)) return false; hwpf.ReadBlock(&type, 2); - hwpf.Read4b(reserved1.data(), 1); + hwpf.ReadBlock(reserved1.data(), 4); if (!hwpf.Read2b(location_info)) return false; hwpf.ReadBlock(reserved2.data(), 22); @@ -123,7 +123,7 @@ bool Bookmark::Read(HWPFile & hwpf) { uint len; - hwpf.Read4b(&len, 1); + hwpf.Read4b(len); if (!hwpf.Read2b(dummy)) return false; @@ -402,7 +402,7 @@ bool Picture::Read(HWPFile & hwpf) } hwpf.AddBox(this); - hwpf.Read4b(&follow_block_size, 1); + hwpf.Read4b(follow_block_size); //when fuzzing with a max len set, max decompress to 10 times that limit static size_t nMaxAllowedDecompression = [](const char* pEnv) { size_t nRet = pEnv ? std::atoi(pEnv) : 0; return nRet * 10; }(std::getenv("FUZZ_MAX_INPUT_LEN"));