Browse Source

ogg: Always alloc the private context in vorbis_header

It is possible to have an initial broken header and then valid packets.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
tags/n2.1
Luca Barbato 12 years ago
parent
commit
3562684db7
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavformat/oggparsevorbis.c

+ 3
- 3
libavformat/oggparsevorbis.c View File

@@ -212,15 +212,15 @@ vorbis_header (AVFormatContext * s, int idx)
struct oggvorbis_private *priv;
int pkt_type = os->buf[os->pstart];

if (!(pkt_type & 1))
return 0;

if (!os->private) {
os->private = av_mallocz(sizeof(struct oggvorbis_private));
if (!os->private)
return 0;
}

if (!(pkt_type & 1))
return 0;

if (os->psize < 1 || pkt_type > 5)
return -1;



Loading…
Cancel
Save