From: T Karthik Reddy Date: Tue, 12 Mar 2019 14:50:21 +0000 (+0530) Subject: ARM: zynq: Check zynq aes & rsa command parameters count X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a464203cca0e7d2f54fbe82ff60dac1a96e551e3;p=thirdparty%2Fu-boot.git ARM: zynq: Check zynq aes & rsa command parameters count This patch checks for zynq aes & rsa commands max parameters count. Also checks minimum number of parameters count for aes command. Signed-off-by: T Karthik Reddy Signed-off-by: Siva Durga Prasad Paladugu Signed-off-by: Michal Simek --- diff --git a/board/xilinx/zynq/cmds.c b/board/xilinx/zynq/cmds.c index cec35cd849e..ebefbf22120 100644 --- a/board/xilinx/zynq/cmds.c +++ b/board/xilinx/zynq/cmds.c @@ -415,9 +415,13 @@ static int do_zynq_rsa(cmd_tbl_t *cmdtp, int flag, int argc, u32 src_ptr; char *endp; + if (argc != cmdtp->maxargs) + return CMD_RET_FAILURE; + src_ptr = simple_strtoul(argv[2], &endp, 16); if (*argv[2] == 0 || *endp != 0) return CMD_RET_USAGE; + if (zynq_verify_image(src_ptr)) return CMD_RET_FAILURE; @@ -434,6 +438,9 @@ static int zynq_decrypt_image(cmd_tbl_t *cmdtp, int flag, int argc, int status; u8 imgtype = BIT_NONE; + if (argc < 5 && argc > cmdtp->maxargs) + return CMD_RET_USAGE; + srcaddr = simple_strtoul(argv[2], &endp, 16); if (*argv[2] == 0 || *endp != 0) return CMD_RET_USAGE; @@ -488,7 +495,7 @@ static int do_zynq(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return CMD_RET_USAGE; zynq_cmd = find_cmd_tbl(argv[1], zynq_commands, ARRAY_SIZE(zynq_commands)); - if (!zynq_cmd || argc != zynq_cmd->maxargs) + if (!zynq_cmd) return CMD_RET_USAGE; ret = zynq_cmd->cmd(zynq_cmd, flag, argc, argv);