Don't core dump when using CMAC with dgst.
authorDr. Stephen Henson <steve@openssl.org>
Sun, 29 Jun 2014 22:25:59 +0000 (23:25 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Sun, 29 Jun 2014 22:44:44 +0000 (23:44 +0100)
We can't unfortunately print the CMAC cipher used without extending the API.

PR#2579

apps/dgst.c

index d471dbd..19c9424 100644 (file)
@@ -529,7 +529,8 @@ int MAIN(int argc, char **argv)
                                        EVP_PKEY_asn1_get0_info(NULL, NULL,
                                                NULL, NULL, &sig_name, ameth);
                                }
-                       md_name = EVP_MD_name(md);
+                       if (md)
+                               md_name = EVP_MD_name(md);
                        }
                err = 0;
                for (i=0; i<argc; i++)
@@ -641,7 +642,12 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
        else 
                {
                if (sig_name)
-                       BIO_printf(out, "%s-%s(%s)= ", sig_name, md_name, file);
+                       {
+                       BIO_puts(out, sig_name);
+                       if (md_name)
+                               BIO_printf(out, "-%s", md_name);
+                       BIO_printf(out, "(%s)= ", file);
+                       }
                else if (md_name)
                        BIO_printf(out, "%s(%s)= ", md_name, file);
                else