]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
ARM: zynq: Check zynq aes & rsa command parameters count
authorT Karthik Reddy <t.karthik.reddy@xilinx.com>
Tue, 12 Mar 2019 14:50:21 +0000 (20:20 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 13 Mar 2019 14:19:21 +0000 (15:19 +0100)
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 <t.karthik.reddy@xilinx.com>
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/zynq/cmds.c

index cec35cd849e6415af8f9926359dffa9f2a7af4b2..ebefbf22120cc34390a310d56d7b571c40249541 100644 (file)
@@ -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);