diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 1fc4dc5cecf54be38fbfd7218065063e58808e80..ac51c2f3ee4ac3446cd97cb29f48078eb3b79c92 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -291,8 +291,6 @@ static void interleave_stereo_24(int32_t *buffer[MAX_CHANNELS],
 static int alac_decode_frame(AVCodecContext *avctx, void *data,
                              int *got_frame_ptr, AVPacket *avpkt)
 {
-    const uint8_t *inbuffer = avpkt->data;
-    int input_buffer_size = avpkt->size;
     ALACContext *alac = avctx->priv_data;
 
     int channels;
@@ -303,7 +301,7 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data,
     uint8_t interlacing_leftweight;
     int i, ch, ret;
 
-    init_get_bits(&alac->gb, inbuffer, input_buffer_size * 8);
+    init_get_bits(&alac->gb, avpkt->data, avpkt->size * 8);
 
     channels = get_bits(&alac->gb, 3) + 1;
     if (channels != avctx->channels) {
@@ -457,13 +455,14 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data,
         break;
     }
 
-    if (input_buffer_size * 8 - get_bits_count(&alac->gb) > 8)
-        av_log(avctx, AV_LOG_ERROR, "Error : %d bits left\n", input_buffer_size * 8 - get_bits_count(&alac->gb));
+    if (avpkt->size * 8 - get_bits_count(&alac->gb) > 8)
+        av_log(avctx, AV_LOG_ERROR, "Error : %d bits left\n",
+               avpkt->size * 8 - get_bits_count(&alac->gb));
 
     *got_frame_ptr   = 1;
     *(AVFrame *)data = alac->frame;
 
-    return input_buffer_size;
+    return avpkt->size;
 }
 
 static av_cold int alac_decode_close(AVCodecContext *avctx)