summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-11-11 14:42:50 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-11-11 14:42:50 +0000
commit838ea7f8247ec3914b2b8edf944961fed89e2870 (patch)
tree170d192f384fb83611fd4f67d68ff86e0e49f8d4 /apps
parentda7b0b2261d0365b3bc7110adf2a8773cf513cf4 (diff)
downloadopenssl-new-838ea7f8247ec3914b2b8edf944961fed89e2870.tar.gz
PR: 2366
Submitted by: Damien Miller <djm@mindrot.org> Reviewed by: steve Stop pkeyutl crashing if some arguments are missing. Also make str2fmt tolerate NULL parameter.
Diffstat (limited to 'apps')
-rw-r--r--apps/apps.c2
-rw-r--r--apps/pkeyutl.c12
2 files changed, 8 insertions, 6 deletions
diff --git a/apps/apps.c b/apps/apps.c
index 3344d533b2..57390d37cc 100644
--- a/apps/apps.c
+++ b/apps/apps.c
@@ -257,6 +257,8 @@ int args_from_file(char *file, int *argc, char **argv[])
int str2fmt(char *s)
{
+ if (s == NULL)
+ return FORMAT_UNDEF;
if ((*s == 'D') || (*s == 'd'))
return(FORMAT_ASN1);
else if ((*s == 'T') || (*s == 't'))
diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c
index 22a6c4bf39..7eb3f5c544 100644
--- a/apps/pkeyutl.c
+++ b/apps/pkeyutl.c
@@ -119,17 +119,17 @@ int MAIN(int argc, char **argv)
if (!strcmp(*argv,"-in"))
{
if (--argc < 1) badarg = 1;
- infile= *(++argv);
+ else infile= *(++argv);
}
else if (!strcmp(*argv,"-out"))
{
if (--argc < 1) badarg = 1;
- outfile= *(++argv);
+ else outfile= *(++argv);
}
else if (!strcmp(*argv,"-sigfile"))
{
if (--argc < 1) badarg = 1;
- sigfile= *(++argv);
+ else sigfile= *(++argv);
}
else if(!strcmp(*argv, "-inkey"))
{
@@ -159,17 +159,17 @@ int MAIN(int argc, char **argv)
else if (!strcmp(*argv,"-passin"))
{
if (--argc < 1) badarg = 1;
- passargin= *(++argv);
+ else passargin= *(++argv);
}
else if (strcmp(*argv,"-peerform") == 0)
{
if (--argc < 1) badarg = 1;
- peerform=str2fmt(*(++argv));
+ else peerform=str2fmt(*(++argv));
}
else if (strcmp(*argv,"-keyform") == 0)
{
if (--argc < 1) badarg = 1;
- keyform=str2fmt(*(++argv));
+ else keyform=str2fmt(*(++argv));
}
#ifndef OPENSSL_NO_ENGINE
else if(!strcmp(*argv, "-engine"))