Handle no async jobs in libssl
[openssl.git] / apps / errstr.c
index 960815da65f7101df046093f61913fedeb0e313f..81028ef0bc7a1b63ccfaa5d29e5a4a8a06d59a7f 100644 (file)
@@ -106,14 +106,17 @@ int errstr_main(int argc, char **argv)
             goto end;
         }
     }
-    argc = opt_num_rest();
-    argv = opt_rest();
 
     ret = 0;
     for (argv = opt_rest(); *argv; argv++) {
-        if (!opt_ulong(*argv, &l))
+        if (sscanf(*argv, "%lx", &l) == 0)
             ret++;
         else {
+            /* We're not really an SSL application so this won't auto-init, but
+             * we're still interested in SSL error strings
+             */
+            OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS
+                             | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
             ERR_error_string_n(l, buf, sizeof buf);
             BIO_printf(bio_out, "%s\n", buf);
         }