avcodec/libvpxenc: Check for av_malloc() failure

Fixes CID1271045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-02-22 02:40:16 +01:00
parent 67d4d5f5db
commit 21518f5a0a
1 changed files with 6 additions and 1 deletions

View File

@ -717,9 +717,14 @@ static int vp8_encode(AVCodecContext *avctx, AVPacket *pkt,
rawimg_alpha = &ctx->rawimg_alpha;
rawimg_alpha->planes[VPX_PLANE_Y] = frame->data[3];
u_plane = av_malloc(frame->linesize[1] * frame->height);
v_plane = av_malloc(frame->linesize[2] * frame->height);
if (!u_plane || !v_plane) {
av_free(u_plane);
av_free(v_plane);
return AVERROR(ENOMEM);
}
memset(u_plane, 0x80, frame->linesize[1] * frame->height);
rawimg_alpha->planes[VPX_PLANE_U] = u_plane;
v_plane = av_malloc(frame->linesize[2] * frame->height);
memset(v_plane, 0x80, frame->linesize[2] * frame->height);
rawimg_alpha->planes[VPX_PLANE_V] = v_plane;
rawimg_alpha->stride[VPX_PLANE_Y] = frame->linesize[0];