hwpfilter/qa/cppunit/data/pass/ofz44990-1.hwp | 1 + hwpfilter/source/hwpreader.cxx | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-)
New commits: commit eaef857346e08d504c25ab1e9112a335f10cd345 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Feb 24 09:33:26 2022 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Feb 24 14:55:09 2022 +0100 ofz#44990 Null-dereference Change-Id: Ia3af8b544f778698702552e42a5daa5269617916 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130477 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/hwpfilter/qa/cppunit/data/pass/ofz44990-1.hwp b/hwpfilter/qa/cppunit/data/pass/ofz44990-1.hwp new file mode 100644 index 000000000000..f3a32c7b7b51 --- /dev/null +++ b/hwpfilter/qa/cppunit/data/pass/ofz44990-1.hwp @@ -0,0 +1 @@ +HWP Document File V3.00 ���� ������������ ������������ ���������� ������� � ������� � � � � � ���� ������������ ���� ������������ ������������ ���������� ������� ������ � � � � � � ���� ������ bf```082 0 00�� 0)00 � umen(�0*�� 0 ;1 ()PH� �� \ No newline at end of file diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx index 40bd3186c288..c8c09e922d29 100644 --- a/hwpfilter/source/hwpreader.cxx +++ b/hwpfilter/source/hwpreader.cxx @@ -1094,7 +1094,8 @@ void HwpReader::makeMasterStyles() d->bInHeader = true; d->pPn = pPage->pagenumber; } - parsePara(pPage->header->plist.front().get()); + if (!pPage->header->plist.empty()) + parsePara(pPage->header->plist.front().get()); d->bInHeader = false; d->pPn = nullptr; rendEl("style:header"); @@ -1109,7 +1110,8 @@ void HwpReader::makeMasterStyles() d->pPn = pPage->pagenumber; d->nPnPos = 3; } - parsePara(pPage->header_even->plist.front().get()); + if (!pPage->header_even->plist.empty()) + parsePara(pPage->header_even->plist.front().get()); d->bInHeader = false; d->pPn = nullptr; d->nPnPos = 0; @@ -1144,7 +1146,8 @@ void HwpReader::makeMasterStyles() d->nPnPos = 1; d->pPn = pPage->pagenumber; } - parsePara(pPage->header_odd->plist.front().get()); + if (!pPage->header_odd->plist.empty()) + parsePara(pPage->header_odd->plist.front().get()); d->bInHeader = false; d->pPn = nullptr; d->nPnPos = 0; @@ -1195,7 +1198,8 @@ void HwpReader::makeMasterStyles() d->bInHeader = true; d->pPn = pPage->pagenumber; } - parsePara(pPage->footer->plist.front().get()); + if (!pPage->footer->plist.empty()) + parsePara(pPage->footer->plist.front().get()); d->bInHeader = false; d->pPn = nullptr; rendEl("style:footer"); @@ -1210,7 +1214,8 @@ void HwpReader::makeMasterStyles() d->pPn = pPage->pagenumber; d->nPnPos = 3; } - parsePara(pPage->footer_even->plist.front().get()); + if (!pPage->footer_even->plist.empty()) + parsePara(pPage->footer_even->plist.front().get()); d->bInHeader = false; d->pPn = nullptr; d->nPnPos = 0; @@ -1245,7 +1250,8 @@ void HwpReader::makeMasterStyles() d->pPn = pPage->pagenumber; d->nPnPos = 1; } - parsePara(pPage->footer_odd->plist.front().get()); + if (!pPage->footer_odd->plist.empty()) + parsePara(pPage->footer_odd->plist.front().get()); d->bInHeader = false; d->pPn = nullptr; d->nPnPos = 0;