diff --git a/libavcodec/dpcm.c b/libavcodec/dpcm.c
index ef4ccf8860..b59a9cd6b8 100644
--- a/libavcodec/dpcm.c
+++ b/libavcodec/dpcm.c
@@ -125,6 +125,9 @@ static int dpcm_decode_frame(AVCodecContext *avctx,
     unsigned char byte;
     short diff;
 
+    if (!buf_size)
+        return 0;
+
     switch(avctx->codec->id) {
 
     case CODEC_ID_ROQ_DPCM: