Fix a crash in the asn1parse command
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Sat, 31 Mar 2018 19:09:32 +0000 (21:09 +0200)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Tue, 3 Apr 2018 14:05:49 +0000 (16:05 +0200)
Thanks to Sem Voigtländer for reporting this issue.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/5826)

(cherry picked from commit 752837e0664e990b5edf6f0b69e1b4612efadce0)

apps/asn1pars.c

index 0a6b990b503d85325e2ad8a063df6cd928c9e893..55ecd7cab00b4bb9498e4a4b694122e305ff5860 100644 (file)
@@ -295,7 +295,7 @@ int MAIN(int argc, char **argv)
             ASN1_TYPE *atmp;
             int typ;
             j = atoi(sk_OPENSSL_STRING_value(osk, i));
-            if (j == 0) {
+            if (j <= 0 || j >= tmplen) {
                 BIO_printf(bio_err, "'%s' is an invalid number\n",
                            sk_OPENSSL_STRING_value(osk, i));
                 continue;