From 36e8d83a620f188887ee83eb247ca0b9bf699ddc Mon Sep 17 00:00:00 2001 From: darosior Date: Mon, 25 Nov 2019 17:39:16 +0100 Subject: [PATCH] tools/hsmtool: correct bad access to argv[] --- tools/hsmtool.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/hsmtool.c b/tools/hsmtool.c index 496360331..4048dd80d 100644 --- a/tools/hsmtool.c +++ b/tools/hsmtool.c @@ -365,25 +365,25 @@ int main(int argc, char *argv[]) setup_locale(); err_set_progname(argv[0]); - method = argv[1]; + method = argc > 1 ? argv[1] : NULL; if (!method) show_usage(); if (streq(method, "decrypt")) { - if (!argv[2] || !argv[3]) + if (argc < 3) show_usage(); return decrypt_hsm(argv[2], argv[3]); } if (streq(method, "encrypt")) { - if (!argv[2] || !argv[3]) + if (argc < 3) show_usage(); return encrypt_hsm(argv[2], argv[3]); } if (streq(method, "dumpcommitments")) { /* node_id channel_id depth hsm_secret ?password? */ - if (!(argv[2] && argv[3] && argv[4] && argv[5])) + if (argc < 5) show_usage(); struct node_id node_id; if (!node_id_from_hexstr(argv[2], strlen(argv[2]), &node_id))