diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-02-24 09:33:26 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-02-24 14:55:09 +0100 |
commit | eaef857346e08d504c25ab1e9112a335f10cd345 (patch) | |
tree | 374343034cfe014eeaa93c8181710912bb13d458 /hwpfilter | |
parent | 602576cb86aff3b32f1781090d4a43af6ec193d8 (diff) |
ofz#44990 Null-dereference
Change-Id: Ia3af8b544f778698702552e42a5daa5269617916
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130477
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'hwpfilter')
-rw-r--r-- | hwpfilter/qa/cppunit/data/pass/ofz44990-1.hwp | 1 | ||||
-rw-r--r-- | hwpfilter/source/hwpreader.cxx | 18 |
2 files changed, 13 insertions, 6 deletions
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; |