Merge commit 'f369b9356c4606cd4d713d60f7db5de119d901fa'
* commit 'f369b9356c4606cd4d713d60f7db5de119d901fa': avformat: Use av_reallocp_array() where suitable Conflicts: libavformat/asfenc.c libavformat/gxfenc.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -3296,14 +3296,11 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c)
|
||||
{
|
||||
AVStream *st;
|
||||
int i;
|
||||
AVStream **streams;
|
||||
|
||||
if (s->nb_streams >= INT_MAX/sizeof(*streams))
|
||||
if (av_reallocp_array(&s->streams, s->nb_streams + 1, sizeof(*s->streams)) < 0) {
|
||||
s->nb_streams = 0;
|
||||
return NULL;
|
||||
streams = av_realloc(s->streams, (s->nb_streams + 1) * sizeof(*streams));
|
||||
if (!streams)
|
||||
return NULL;
|
||||
s->streams = streams;
|
||||
}
|
||||
|
||||
st = av_mallocz(sizeof(AVStream));
|
||||
if (!st)
|
||||
@@ -3407,7 +3404,6 @@ void ff_program_add_stream_index(AVFormatContext *ac, int progid, unsigned int i
|
||||
{
|
||||
int i, j;
|
||||
AVProgram *program=NULL;
|
||||
void *tmp;
|
||||
|
||||
if (idx >= ac->nb_streams) {
|
||||
av_log(ac, AV_LOG_ERROR, "stream index %d is not valid\n", idx);
|
||||
@@ -3422,10 +3418,12 @@ void ff_program_add_stream_index(AVFormatContext *ac, int progid, unsigned int i
|
||||
if(program->stream_index[j] == idx)
|
||||
return;
|
||||
|
||||
tmp = av_realloc(program->stream_index, sizeof(unsigned int)*(program->nb_stream_indexes+1));
|
||||
if(!tmp)
|
||||
if (av_reallocp_array(&program->stream_index,
|
||||
program->nb_stream_indexes + 1,
|
||||
sizeof(*program->stream_index)) < 0) {
|
||||
program->nb_stream_indexes = 0;
|
||||
return;
|
||||
program->stream_index = tmp;
|
||||
}
|
||||
program->stream_index[program->nb_stream_indexes++] = idx;
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user