Add sanity check to print_bin function
authorMatt Caswell <matt@openssl.org>
Wed, 29 Apr 2015 08:58:10 +0000 (09:58 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 30 Apr 2015 22:27:07 +0000 (23:27 +0100)
Add a sanity check to the print_bin function to ensure that the |off|
argument is positive. Thanks to Kevin Wojtysiak (Int3 Solutions) and
Paramjot Oberoi (Int3 Solutions) for reporting this issue.

Reviewed-by: Andy Polyakov <appro@openssl.org>
(cherry picked from commit 3deeeeb61b0c5b9b5f0993a67b7967d2f85186da)

crypto/ec/eck_prn.c

index a911a0ac40805d17dd5da894e46e97f22fdf79e6..5ef12ec024444f2c7bc9bbe6523d1a9489829b39 100644 (file)
@@ -338,12 +338,14 @@ static int print_bin(BIO *fp, const char *name, const unsigned char *buf,
 
     if (buf == NULL)
         return 1;
 
     if (buf == NULL)
         return 1;
-    if (off) {
+    if (off > 0) {
         if (off > 128)
             off = 128;
         memset(str, ' ', off);
         if (BIO_write(fp, str, off) <= 0)
             return 0;
         if (off > 128)
             off = 128;
         memset(str, ' ', off);
         if (BIO_write(fp, str, off) <= 0)
             return 0;
+    } else {
+        off = 0;
     }
 
     if (BIO_printf(fp, "%s", name) <= 0)
     }
 
     if (BIO_printf(fp, "%s", name) <= 0)