The classical ptr = av_realloc(ptr, size).
Unified · Split
| @@ -488,11 +488,12 @@ static int parse_adaptation_sets(AVFormatContext *s) · 487 unmodified lines | ||
| 488 | 488 | state = parsing_streams; |
| 489 | 489 | } else if (state == parsing_streams) { |
| 490 | 490 | struct AdaptationSet *as = &w->as[w->nb_as - 1]; |
| 491 | + int ret = av_reallocp_array(&as->streams, ++as->nb_streams, | |
| 492 | + sizeof(*as->streams)); | |
| 493 | + if (ret < 0) | |
| 494 | + return ret; | |
| 491 | 495 | q = p; |
| 492 | 496 | while (*q != '\0' && *q != ',' && *q != ' ') q++; |
| 493 | − as->streams = av_realloc(as->streams, sizeof(*as->streams) * ++as->nb_streams); | |
| 494 | − if (as->streams == NULL) | |
| 495 | − return AVERROR(ENOMEM); | |
| 496 | 497 | as->streams[as->nb_streams - 1] = to_integer(p, q - p + 1); |
| 497 | 498 | if (as->streams[as->nb_streams - 1] < 0 || |
| 498 | 499 | as->streams[as->nb_streams - 1] >= s->nb_streams) { |