summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2015-04-29 09:58:10 +0100
committerMatt Caswell <matt@openssl.org>2015-04-30 23:27:07 +0100
commitee900ed1f7865d12682f5dd640d7554655cb4255 (patch)
treec1df61c750559817349745c9364ffdc30804feb7
parent39b36cb438f7fba7dd3cce1d51d5c6c149f3e48d (diff)
Add sanity check to print_bin function
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)
-rw-r--r--crypto/ec/eck_prn.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/ec/eck_prn.c b/crypto/ec/eck_prn.c
index a911a0ac40..5ef12ec024 100644
--- a/crypto/ec/eck_prn.c
+++ b/crypto/ec/eck_prn.c
@@ -338,12 +338,14 @@ static int print_bin(BIO *fp, const char *name, const unsigned char *buf,
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;
+ } else {
+ off = 0;
}
if (BIO_printf(fp, "%s", name) <= 0)