mips: micronas/vct: check array bounds before access
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 18 Mar 2018 22:43:43 +0000 (23:43 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 21 Mar 2018 22:23:13 +0000 (23:23 +0100)
If we check an index against array bounds, we should do so before
accessing the array and not afterwards.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
board/micronas/vct/scc.c

index 0d33cc4c28e62e7c27804067aed1f41c67fc4bef..8dbf4100e704816cc65772a28ebe904487a935b4 100644 (file)
@@ -524,12 +524,14 @@ int scc_setup_dma(enum scc_id id, u32 buffer_tag,
        struct scc_dma_state *dma_state;
        int return_value = 0;
        union scc_dma_cfg dma_cfg;
-       u32 *buffer_tag_list = scc_descriptor_table[id].buffer_tag_list;
+       u32 *buffer_tag_list;
        u32 tag_count, t, t_valid;
 
        if ((id >= SCC_MAX) || (id < 0))
                return -EINVAL;
 
+       buffer_tag_list = scc_descriptor_table[id].buffer_tag_list;
+
        /* if the register is only configured by hw, cannot write! */
        if (1 == scc_descriptor_table[id].hw_dma_cfg)
                return -EACCES;