From: Daniel Scheller <d.schel...@gmx.net>

Fixes smatch error:

  drivers/media/dvb-frontends/stv0910.c:715 dvbs2_nbch() error: buffer overflow 
'nbch[fectype]' 2 <= 28

Also, fixes the nbch array table by adding the DUMMY_PLF element at the top
to match the enums (table element order was off by one before).

Patch sent upstream aswell.

Cc: Ralph Metzler <r...@metzlerbros.de>
Signed-off-by: Daniel Scheller <d.schel...@gmx.net>
---
 drivers/media/dvb-frontends/stv0910.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/media/dvb-frontends/stv0910.c 
b/drivers/media/dvb-frontends/stv0910.c
index 2f25bad7f7b8..5a5d190298ea 100644
--- a/drivers/media/dvb-frontends/stv0910.c
+++ b/drivers/media/dvb-frontends/stv0910.c
@@ -676,6 +676,7 @@ static int get_bit_error_rate_s(struct stv *state, u32 
*bernumerator,
 static u32 dvbs2_nbch(enum dvbs2_mod_cod mod_cod, enum dvbs2_fectype fectype)
 {
        static u32 nbch[][2] = {
+               {    0,     0}, /* DUMMY_PLF */
                {16200,  3240}, /* QPSK_1_4, */
                {21600,  5400}, /* QPSK_1_3, */
                {25920,  6480}, /* QPSK_2_5, */
@@ -708,7 +709,7 @@ static u32 dvbs2_nbch(enum dvbs2_mod_cod mod_cod, enum 
dvbs2_fectype fectype)
 
        if (mod_cod >= DVBS2_QPSK_1_4 &&
            mod_cod <= DVBS2_32APSK_9_10 && fectype <= DVBS2_16K)
-               return nbch[fectype][mod_cod];
+               return nbch[mod_cod][fectype];
        return 64800;
 }
 
-- 
2.13.0

Reply via email to