mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/webmdashenc: Fix memleak upon realloc failure
The classical ptr = av_realloc(ptr, size). Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
3875af84ed
commit
418e468699
|
@ -488,11 +488,12 @@ static int parse_adaptation_sets(AVFormatContext *s)
|
||||||
state = parsing_streams;
|
state = parsing_streams;
|
||||||
} else if (state == parsing_streams) {
|
} else if (state == parsing_streams) {
|
||||||
struct AdaptationSet *as = &w->as[w->nb_as - 1];
|
struct AdaptationSet *as = &w->as[w->nb_as - 1];
|
||||||
|
int ret = av_reallocp_array(&as->streams, ++as->nb_streams,
|
||||||
|
sizeof(*as->streams));
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
q = p;
|
q = p;
|
||||||
while (*q != '\0' && *q != ',' && *q != ' ') q++;
|
while (*q != '\0' && *q != ',' && *q != ' ') q++;
|
||||||
as->streams = av_realloc(as->streams, sizeof(*as->streams) * ++as->nb_streams);
|
|
||||||
if (as->streams == NULL)
|
|
||||||
return AVERROR(ENOMEM);
|
|
||||||
as->streams[as->nb_streams - 1] = to_integer(p, q - p + 1);
|
as->streams[as->nb_streams - 1] = to_integer(p, q - p + 1);
|
||||||
if (as->streams[as->nb_streams - 1] < 0 ||
|
if (as->streams[as->nb_streams - 1] < 0 ||
|
||||||
as->streams[as->nb_streams - 1] >= s->nb_streams) {
|
as->streams[as->nb_streams - 1] >= s->nb_streams) {
|
||||||
|
|
Loading…
Reference in New Issue