diff --git a/libavformat/hls_sample_encryption.c b/libavformat/hls_sample_encryption.c index f9f410f3da..26de098dda 100644 --- a/libavformat/hls_sample_encryption.c +++ b/libavformat/hls_sample_encryption.c @@ -88,6 +88,7 @@ void ff_hls_senc_read_audio_setup_info(HLSAudioSetupInfo *info, const uint8_t *b return; memcpy(info->setup_data, buf, info->setup_data_length); + memset(info->setup_data + info->setup_data_length, 0, AV_INPUT_BUFFER_PADDING_SIZE); } int ff_hls_senc_parse_audio_setup_info(AVStream *st, HLSAudioSetupInfo *info) diff --git a/libavformat/hls_sample_encryption.h b/libavformat/hls_sample_encryption.h index e5a2eae01d..0f7e1c3ece 100644 --- a/libavformat/hls_sample_encryption.h +++ b/libavformat/hls_sample_encryption.h @@ -52,7 +52,7 @@ typedef struct HLSAudioSetupInfo { uint16_t priming; uint8_t version; uint8_t setup_data_length; - uint8_t setup_data[HLS_MAX_AUDIO_SETUP_DATA_LEN]; + uint8_t setup_data[HLS_MAX_AUDIO_SETUP_DATA_LEN + AV_INPUT_BUFFER_PADDING_SIZE]; } HLSAudioSetupInfo;