summaryrefslogtreecommitdiff
path: root/cesar/ce/rx/bitloading/src
diff options
context:
space:
mode:
authordufour2010-03-23 10:46:29 +0000
committerdufour2010-03-23 10:46:29 +0000
commit072d419f99963b0225b4decd2cbaf8831273f6b9 (patch)
treefdd39097c6dd81e731900586a79d27b381781842 /cesar/ce/rx/bitloading/src
parentf25ad7bbe5cda6874b674461bc9821f024f5f34d (diff)
cesar/ce/rx/bl: prevent access of uninitialized parts of optimization table
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6833 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/ce/rx/bitloading/src')
-rw-r--r--cesar/ce/rx/bitloading/src/bitloading.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cesar/ce/rx/bitloading/src/bitloading.c b/cesar/ce/rx/bitloading/src/bitloading.c
index 09d736eff3..bcca3dd0d7 100644
--- a/cesar/ce/rx/bitloading/src/bitloading.c
+++ b/cesar/ce/rx/bitloading/src/bitloading.c
@@ -149,8 +149,10 @@ ce_rx_bl_update_tone_map_at_ber_consign (u64 ber_pt,
u32 *tone_word;
s8 mod = -1;
- /* Optimize table until we reach the BER consign. */
- while (ber_pt * tm->bits_per_symbol >= ber_weighted_sum)
+ /* Optimize tone map until we reach the BER consign or we are out of
+ * table. */
+ while (ber_pt * tm->bits_per_symbol >= ber_weighted_sum
+ && pos < tonemask->carrier_nb)
{
/* Get the modulation of the lowest BER impact. */
mod = tonemap_get_tone (tm, opti[pos].carrier_index, &tone_word);