vcl/source/filter/png/PngImageReader.cxx |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 64af1d49ed7e623fa991698a30110ee966608d1b
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Mon Jun 12 10:25:56 2023 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Mon Jun 12 13:17:40 2023 +0200

    ofz#59759 Null-dereference READ
    
    since:
    
    commit bf944e33569e4a1d6236a54671b7320cdc6ffaf6
    Date:   Mon Feb 6 14:19:41 2023 +0200
    
        tdf#104877 Add basic APNG format support
    
    Change-Id: I45080e226f0ad4ccb99b6285c77ed19b702b74d9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152893
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/vcl/source/filter/png/PngImageReader.cxx 
b/vcl/source/filter/png/PngImageReader.cxx
index cd1207097809..af74099a3039 100644
--- a/vcl/source/filter/png/PngImageReader.cxx
+++ b/vcl/source/filter/png/PngImageReader.cxx
@@ -137,9 +137,6 @@ int handle_unknown_chunk(png_structp png, 
png_unknown_chunkp chunk)
     else
     {
         std::unique_ptr<FrameDataChunk> pBaseChunk;
-        sal_uInt32 nSequenceNumber = 0;
-        std::memcpy(&nSequenceNumber, chunk->data, 4);
-        nSequenceNumber = OSL_SWAPDWORD(nSequenceNumber);
 
         if (sName == "fcTL")
         {
@@ -196,6 +193,10 @@ int handle_unknown_chunk(png_structp png, 
png_unknown_chunkp chunk)
             return 0;
         }
 
+        sal_uInt32 nSequenceNumber = 0;
+        std::memcpy(&nSequenceNumber, chunk->data, 4);
+        nSequenceNumber = OSL_SWAPDWORD(nSequenceNumber);
+
         pBaseChunk->sequence_number = nSequenceNumber;
         if (pBaseChunk->sequence_number < aAPNGInfo->maFrameData.size())
         {

Reply via email to