summaryrefslogtreecommitdiff
path: root/common/cmd_hash.c
diff options
context:
space:
mode:
authorNikolay Dimitrov <picmaster@mail.bg>2014-12-12 20:01:23 +0200
committerTom Rini <trini@ti.com>2014-12-29 16:31:24 -0500
commit3ef46a998a2f2c52e227246ac0438ca048ddfd09 (patch)
treeaed0170b1d6c5148a5815566133739f97a91f1cc /common/cmd_hash.c
parentd210718d9a184c5b00b7ee729e746ff8be5570bb (diff)
downloadu-boot-imx-3ef46a998a2f2c52e227246ac0438ca048ddfd09.zip
u-boot-imx-3ef46a998a2f2c52e227246ac0438ca048ddfd09.tar.gz
u-boot-imx-3ef46a998a2f2c52e227246ac0438ca048ddfd09.tar.bz2
Fix hash verification
Fix issue in parse_verify_sum() which swaps handling of env-var and *address. Move hash_command() argc check earlier. Cosmetic change on do_hash() variable declaration. Improved help message for "hash" command. Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/cmd_hash.c')
-rw-r--r--common/cmd_hash.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/common/cmd_hash.c b/common/cmd_hash.c
index 90facbb..704d21e 100644
--- a/common/cmd_hash.c
+++ b/common/cmd_hash.c
@@ -18,9 +18,9 @@
static int do_hash(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
char *s;
-#ifdef CONFIG_HASH_VERIFY
int flags = HASH_FLAG_ENV;
+#ifdef CONFIG_HASH_VERIFY
if (argc < 4)
return CMD_RET_USAGE;
if (!strcmp(argv[1], "-v")) {
@@ -28,8 +28,6 @@ static int do_hash(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
argc--;
argv++;
}
-#else
- const int flags = HASH_FLAG_ENV;
#endif
/* Move forward to 'algorithm' parameter */
argc--;
@@ -40,19 +38,19 @@ static int do_hash(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
}
#ifdef CONFIG_HASH_VERIFY
-U_BOOT_CMD(
- hash, 6, 1, do_hash,
- "compute hash message digest",
- "algorithm address count [[*]sum_dest]\n"
- " - compute message digest [save to env var / *address]\n"
- "hash -v algorithm address count [*]sum\n"
- " - verify hash of memory area with env var / *address"
-);
+#define HARGS 6
#else
+#define HARGS 5
+#endif
+
U_BOOT_CMD(
- hash, 5, 1, do_hash,
- "compute message digest",
- "algorithm address count [[*]sum_dest]\n"
+ hash, HARGS, 1, do_hash,
+ "compute hash message digest",
+ "algorithm address count [[*]hash_dest]\n"
" - compute message digest [save to env var / *address]"
-);
+#ifdef CONFIG_HASH_VERIFY
+ "\nhash -v algorithm address count [*]hash\n"
+ " - verify message digest of memory area to immediate value, \n"
+ " env var or *address"
#endif
+);