Browse Source

dsicin demuxer: Fix excessive malloc()

use ffio_limit()
Fixes Ticket 790
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9c5104e84e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.9.1
Michael Niedermayer 14 years ago
parent
commit
0ab9072ee0
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavformat/dsicin.c

+ 3
- 0
libavformat/dsicin.c View File

@@ -27,6 +27,7 @@
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "internal.h"
#include "avio_internal.h"


typedef struct CinFileHeader {
@@ -179,6 +180,8 @@ static int cin_read_packet(AVFormatContext *s, AVPacket *pkt)
/* palette and video packet */
pkt_size = (palette_type + 3) * hdr->pal_colors_count + hdr->video_frame_size;

pkt_size = ffio_limit(pb, pkt_size);

ret = av_new_packet(pkt, 4 + pkt_size);
if (ret < 0)
return ret;


Loading…
Cancel
Save