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;

Reply via email to