Commit 6471f63d authored by Michael Niedermayer's avatar Michael Niedermayer

wmalosslessdec: make arrays indexed by ch large enough for maximum number of channels

Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 7cb46b51
...@@ -123,7 +123,7 @@ typedef struct WmallDecodeCtx { ...@@ -123,7 +123,7 @@ typedef struct WmallDecodeCtx {
int8_t acfilter_order; int8_t acfilter_order;
int8_t acfilter_scaling; int8_t acfilter_scaling;
int64_t acfilter_coeffs[16]; int64_t acfilter_coeffs[16];
int acfilter_prevvalues[2][16]; int acfilter_prevvalues[WMALL_MAX_CHANNELS][16];
int8_t mclms_order; int8_t mclms_order;
int8_t mclms_scaling; int8_t mclms_scaling;
...@@ -145,29 +145,29 @@ typedef struct WmallDecodeCtx { ...@@ -145,29 +145,29 @@ typedef struct WmallDecodeCtx {
int16_t lms_prevvalues[MAX_ORDER * 2]; int16_t lms_prevvalues[MAX_ORDER * 2];
int16_t lms_updates[MAX_ORDER * 2]; int16_t lms_updates[MAX_ORDER * 2];
int recent; int recent;
} cdlms[2][9]; } cdlms[WMALL_MAX_CHANNELS][9];
int cdlms_ttl[2]; int cdlms_ttl[WMALL_MAX_CHANNELS];
int bV3RTM; int bV3RTM;
int is_channel_coded[2]; int is_channel_coded[WMALL_MAX_CHANNELS];
int update_speed[2]; int update_speed[WMALL_MAX_CHANNELS];
int transient[2]; int transient[WMALL_MAX_CHANNELS];
int transient_pos[2]; int transient_pos[WMALL_MAX_CHANNELS];
int seekable_tile; int seekable_tile;
int ave_sum[2]; int ave_sum[WMALL_MAX_CHANNELS];
int channel_residues[2][WMALL_BLOCK_MAX_SIZE]; int channel_residues[WMALL_MAX_CHANNELS][WMALL_BLOCK_MAX_SIZE];
int lpc_coefs[2][40]; int lpc_coefs[WMALL_MAX_CHANNELS][40];
int lpc_order; int lpc_order;
int lpc_scaling; int lpc_scaling;
int lpc_intbits; int lpc_intbits;
int channel_coeffs[2][WMALL_BLOCK_MAX_SIZE]; int channel_coeffs[WMALL_MAX_CHANNELS][WMALL_BLOCK_MAX_SIZE];
} WmallDecodeCtx; } WmallDecodeCtx;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment