diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c
index 26dcfd0d22bfc827cde2e60ce1def13bf18d7091..d65799ee1ee0d739350293668a68b87d617edbab 100644
--- a/libavcodec/nuv.c
+++ b/libavcodec/nuv.c
@@ -116,8 +116,7 @@ static int codec_reinit(AVCodecContext *avctx, int width, int height, int qualit
             return 0;
         avctx->width = c->width = width;
         avctx->height = c->height = height;
-        c->decomp_size = c->height * c->width * 3 / 2;
-        c->decomp_buf = av_realloc(c->decomp_buf, c->decomp_size + AV_LZO_OUTPUT_PADDING);
+        av_fast_malloc(&c->decomp_buf, &c->decomp_size, c->height * c->width * 3 / 2);
         if (!c->decomp_buf) {
             av_log(avctx, AV_LOG_ERROR, "Can't allocate decompression buffer.\n");
             return 0;