Fix s_server -ssl2. Previously this reported "Error setting EC curve"
[oweals/openssl.git] / apps / apps.c
index 946884860fc085002338480c4eea4f312f6241e0..4eb322afbbf36ddfdf3dceb9a149c5754b98ebdb 100644 (file)
@@ -394,6 +394,8 @@ int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
                {
                arg->count=20;
                arg->data=(char **)OPENSSL_malloc(sizeof(char *)*arg->count);
+               if (arg->data == NULL)
+                       return 0;
                }
        for (i=0; i<arg->count; i++)
                arg->data[i]=NULL;
@@ -1663,6 +1665,8 @@ char *make_config_name()
 
        len=strlen(t)+strlen(OPENSSL_CONF)+2;
        p=OPENSSL_malloc(len);
+       if (p == NULL)
+               return NULL;
        BUF_strlcpy(p,t,len);
 #ifndef OPENSSL_SYS_VMS
        BUF_strlcat(p,"/",len);
@@ -2384,7 +2388,8 @@ int args_verify(char ***pargs, int *pargc,
        char *arg = **pargs, *argn = (*pargs)[1];
        const X509_VERIFY_PARAM *vpm = NULL;
        time_t at_time = 0;
-       const unsigned char *hostname = NULL, *email = NULL;
+       char *hostname = NULL;
+       char *email = NULL;
        char *ipasc = NULL;
        if (!strcmp(arg, "-policy"))
                {
@@ -2478,14 +2483,14 @@ int args_verify(char ***pargs, int *pargc,
                {
                if (!argn)
                        *badarg = 1;
-               hostname = (unsigned char *)argn;
+               hostname = argn;
                (*pargs)++;
                }
        else if (strcmp(arg,"-verify_email") == 0)
                {
                if (!argn)
                        *badarg = 1;
-               email = (unsigned char *)argn;
+               email = argn;
                (*pargs)++;
                }
        else if (strcmp(arg,"-verify_ip") == 0)
@@ -2956,8 +2961,8 @@ unsigned char *next_protos_parse(unsigned short *outlen, const char *in)
 #endif  /* ndef OPENSSL_NO_TLSEXT */
 
 void print_cert_checks(BIO *bio, X509 *x,
-                               const unsigned char *checkhost,
-                               const unsigned char *checkemail,
+                               const char *checkhost,
+                               const char *checkemail,
                                const char *checkip)
        {
        if (x == NULL)
@@ -2965,7 +2970,8 @@ void print_cert_checks(BIO *bio, X509 *x,
        if (checkhost)
                {
                BIO_printf(bio, "Hostname %s does%s match certificate\n",
-                               checkhost, X509_check_host(x, checkhost, 0, 0)
+                               checkhost,
+                               X509_check_host(x, checkhost, 0, 0, NULL)
                                                ? "" : " NOT");
                }