From 4a5982813f940a3b16479dfdaa402b9229d4e23d Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Sun, 10 May 2015 01:50:11 -0400 Subject: [PATCH] Fix asserts in CRYPTO_ctr128_encrypt_ctr32. NULL in and out are legal in the degenerate case when len is 0. Change-Id: Ibf0600a4f635a03103b1ae914918fdcf23a75a39 Reviewed-on: https://boringssl-review.googlesource.com/4705 Reviewed-by: Adam Langley --- crypto/modes/ctr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/modes/ctr.c b/crypto/modes/ctr.c index a5a35899..306b6f74 100644 --- a/crypto/modes/ctr.c +++ b/crypto/modes/ctr.c @@ -163,7 +163,8 @@ void CRYPTO_ctr128_encrypt_ctr32(const uint8_t *in, uint8_t *out, unsigned int *num, ctr128_f func) { unsigned int n, ctr32; - assert(in && out && key && ecount_buf && num); + assert(key && ecount_buf && num); + assert(len == 0 || (in && out)); assert(*num < 16); n = *num;