Commit 838ea7f8 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

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.
parent da7b0b22
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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'))
+6 −6
Original line number Diff line number Diff line
@@ -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"))