提交 6b6fe3d8 编写于 作者: L Lutz Jänicke

Correctly handle case of bad arguments supplied to rsautl

PR: 1659
上级 4c1a6e00
...@@ -119,24 +119,36 @@ int MAIN(int argc, char **argv) ...@@ -119,24 +119,36 @@ int MAIN(int argc, char **argv)
while(argc >= 1) while(argc >= 1)
{ {
if (!strcmp(*argv,"-in")) { if (!strcmp(*argv,"-in")) {
if (--argc < 1) badarg = 1; if (--argc < 1)
infile= *(++argv); badarg = 1;
else
infile= *(++argv);
} else if (!strcmp(*argv,"-out")) { } else if (!strcmp(*argv,"-out")) {
if (--argc < 1) badarg = 1; if (--argc < 1)
outfile= *(++argv); badarg = 1;
else
outfile= *(++argv);
} else if(!strcmp(*argv, "-inkey")) { } else if(!strcmp(*argv, "-inkey")) {
if (--argc < 1) badarg = 1; if (--argc < 1)
keyfile = *(++argv); badarg = 1;
else
keyfile = *(++argv);
} else if (!strcmp(*argv,"-passin")) { } else if (!strcmp(*argv,"-passin")) {
if (--argc < 1) badarg = 1; if (--argc < 1)
passargin= *(++argv); badarg = 1;
else
passargin= *(++argv);
} else if (strcmp(*argv,"-keyform") == 0) { } else if (strcmp(*argv,"-keyform") == 0) {
if (--argc < 1) badarg = 1; if (--argc < 1)
keyform=str2fmt(*(++argv)); badarg = 1;
else
keyform=str2fmt(*(++argv));
#ifndef OPENSSL_NO_ENGINE #ifndef OPENSSL_NO_ENGINE
} else if(!strcmp(*argv, "-engine")) { } else if(!strcmp(*argv, "-engine")) {
if (--argc < 1) badarg = 1; if (--argc < 1)
engine = *(++argv); badarg = 1;
else
engine = *(++argv);
#endif #endif
} else if(!strcmp(*argv, "-pubin")) { } else if(!strcmp(*argv, "-pubin")) {
key_type = KEY_PUBKEY; key_type = KEY_PUBKEY;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册