summaryrefslogtreecommitdiff
path: root/libavcodec/libschroedingerenc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-09 20:31:29 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-09 20:31:29 +0100
commit8c677a9f06c5d145da0301cdc3c6bff9ebacb5d7 (patch)
tree9c756ade47cc06771cb120f53b5f9c22724717f6 /libavcodec/libschroedingerenc.c
parent94a849b8b6c3e4a90361485b2e12a9a5c35833a3 (diff)
parent9b8d11a76ae7bca8bbb58abb822138f8b42c776c (diff)
Merge commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c'
* commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c': avcodec: Use av_reallocp where suitable Conflicts: libavcodec/bitstream.c libavcodec/eatgv.c libavcodec/flashsv.c libavcodec/libtheoraenc.c libavcodec/libvpxenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/libschroedingerenc.c')
-rw-r--r--libavcodec/libschroedingerenc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/libschroedingerenc.c b/libavcodec/libschroedingerenc.c
index 777d7c5044..294fb063c6 100644
--- a/libavcodec/libschroedingerenc.c
+++ b/libavcodec/libschroedingerenc.c
@@ -293,6 +293,7 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
/* Now check to see if we have any output from the encoder. */
while (go) {
+ int err;
SchroStateEnum state;
state = schro_encoder_wait(encoder);
switch (state) {
@@ -307,8 +308,12 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
* be able to set the pts correctly. So we don't write data
* to the frame output queue until we actually have a frame
*/
- p_schro_params->enc_buf = av_realloc(p_schro_params->enc_buf,
- p_schro_params->enc_buf_size + enc_buf->length);
+ if ((err = av_reallocp(&p_schro_params->enc_buf,
+ p_schro_params->enc_buf_size +
+ enc_buf->length)) < 0) {
+ p_schro_params->enc_buf_size = 0;
+ return err;
+ }
memcpy(p_schro_params->enc_buf + p_schro_params->enc_buf_size,
enc_buf->data, enc_buf->length);