mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 11:39:47 +00:00
Checking return values of av_malloc(z) and report an error in case.
Originally committed as revision 25003 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
99d7a3e862
commit
d1cacdb8dd
@ -192,14 +192,21 @@ static av_cold int a64multi_init_encoder(AVCodecContext *avctx)
|
||||
|
||||
c->mc_frame_counter = 0;
|
||||
c->mc_use_5col = avctx->codec->id == CODEC_ID_A64_MULTI5;
|
||||
c->mc_meta_charset = av_malloc (32000 * c->mc_lifetime * sizeof(int));
|
||||
c->mc_best_cb = av_malloc (CHARSET_CHARS * 32 * sizeof(int));
|
||||
c->mc_charmap = av_mallocz(1000 * c->mc_lifetime * sizeof(int));
|
||||
c->mc_colram = av_mallocz(CHARSET_CHARS * sizeof(uint8_t));
|
||||
c->mc_charset = av_malloc (0x800 * (INTERLACED+1) * sizeof(uint8_t));
|
||||
|
||||
if(!(c->mc_meta_charset = av_malloc (32000 * c->mc_lifetime * sizeof(int))) ||
|
||||
!(c->mc_best_cb = av_malloc (CHARSET_CHARS * 32 * sizeof(int))) ||
|
||||
!(c->mc_charmap = av_mallocz(1000 * c->mc_lifetime * sizeof(int))) ||
|
||||
!(c->mc_colram = av_mallocz(CHARSET_CHARS * sizeof(uint8_t))) ||
|
||||
!(c->mc_charset = av_malloc (0x800 * (INTERLACED+1) * sizeof(uint8_t)))) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Failed to allocate buffer memory.\n");
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
||||
/* set up extradata */
|
||||
avctx->extradata = av_mallocz(8 * 4 + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if(!(avctx->extradata = av_mallocz(8 * 4 + FF_INPUT_BUFFER_PADDING_SIZE))) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Failed to allocate memory for extradata.\n");
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
avctx->extradata_size = 8 * 4;
|
||||
AV_WB32(avctx->extradata, c->mc_lifetime);
|
||||
AV_WB32(avctx->extradata+16, INTERLACED);
|
||||
|
Loading…
Reference in New Issue
Block a user