Ticket #5155: programs_mythtranscode_mpeg2fix.cpp-fix-unchecked-null-returns.patch

File programs_mythtranscode_mpeg2fix.cpp-fix-unchecked-null-returns.patch, 1.1 KB (added by Erik Hovland <erik@…>, 16 years ago)

delete tmpFrame in error path

  • programs/mythtranscode/mpeg2fix.cpp

    mythtranscode does call a function that can return a null pointer and then
    
    From: Erik Hovland <erik@hovland.org>
    
    mythtranscode does not check if that returned pointer is null. This patch
    fixes that defect.
    ---
    
     programs/mythtranscode/mpeg2fix.cpp |    5 ++++-
     1 files changed, 4 insertions(+), 1 deletions(-)
    
    diff --git a/programs/mythtranscode/mpeg2fix.cpp b/programs/mythtranscode/mpeg2fix.cpp
    index 9bf6e02..a6d93ef 100644
    a b void MPEG2fixup::WriteFrame(const char *filename, AVPacket *pkt) 
    976976    MPEG2frame *tmpFrame = GetPoolFrame(pkt);
    977977    if (tmpFrame == NULL)
    978978        return;
     979
    979980    WriteData(filename + QString(".enc"), pkt->data, pkt->size);
    980981    mpeg2dec_t *tmp_decoder = mpeg2_init();
    981982    mpeg2_info_t *info = (mpeg2_info_t *)mpeg2_info(tmp_decoder);
    982983
    983984    while (! info->display_picture)
    984         if (ProcessVideo(tmpFrame, tmp_decoder))
     985        if (ProcessVideo(tmpFrame, tmp_decoder)) {
     986            delete tmpFrame;
    985987            return;
     988        }
    986989
    987990    WriteYUV(filename, info);
    988991    framePool.enqueue(tmpFrame);