Trust RSA_check_key() to return correct values
authorRichard Levitte <levitte@openssl.org>
Wed, 24 Aug 2016 10:46:09 +0000 (12:46 +0200)
committerMatt Caswell <matt@openssl.org>
Wed, 24 Aug 2016 13:31:05 +0000 (14:31 +0100)
In apps/rsa.c, we were second guessing RSA_check_key() to leave error
codes lying around without returning -1 properly.  However, this also
catches other errors that are lying around and that we should not care
about.

Reviewed-by: Rich Salz <rsalz@openssl.org>
apps/rsa.c

index f67387e27f6facb42aeb8398479fd2bbca3a54a7..bd2f53a6f4fb871b5050d9293d34bbaba70adedc 100644 (file)
@@ -230,10 +230,7 @@ int rsa_main(int argc, char **argv)
                            ERR_reason_error_string(err));
                 ERR_get_error(); /* remove e from error stack */
             }
                            ERR_reason_error_string(err));
                 ERR_get_error(); /* remove e from error stack */
             }
-        }
-
-        /* should happen only if r == -1 */
-        if (r == -1 || ERR_peek_error() != 0) {
+        } else if (r == -1) {
             ERR_print_errors(bio_err);
             goto end;
         }
             ERR_print_errors(bio_err);
             goto end;
         }