ソースを参照

mips: micronas/vct: check array bounds before access

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>
Heinrich Schuchardt 7 年 前
コミット
dbf4b7669c
1 ファイル変更3 行追加1 行削除
  1. 3 1
      board/micronas/vct/scc.c

+ 3 - 1
board/micronas/vct/scc.c

@@ -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;