avcodec/utils: Move avctx->codec check before its use
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 20 May 2016 02:18:20 +0000 (04:18 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 20 May 2016 02:32:57 +0000 (04:32 +0200)
Fixes CID1361954

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/utils.c

index e5a832b..11ae4e8 100644 (file)
@@ -2281,6 +2281,9 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
 
     *got_frame_ptr = 0;
 
+    if (!avctx->codec)
+        return AVERROR(EINVAL);
+
     if (!avctx->codec->decode) {
         av_log(avctx, AV_LOG_ERROR, "This decoder requires using the avcodec_send_packet() API.\n");
         return AVERROR(ENOSYS);
@@ -2290,8 +2293,6 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
         av_log(avctx, AV_LOG_ERROR, "invalid packet: NULL data, size != 0\n");
         return AVERROR(EINVAL);
     }
-    if (!avctx->codec)
-        return AVERROR(EINVAL);
     if (avctx->codec->type != AVMEDIA_TYPE_AUDIO) {
         av_log(avctx, AV_LOG_ERROR, "Invalid media type for audio\n");
         return AVERROR(EINVAL);