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 <agl@google.com>
diff --git a/crypto/modes/ctr.c b/crypto/modes/ctr.c
index a5a3589..306b6f7 100644
--- a/crypto/modes/ctr.c
+++ b/crypto/modes/ctr.c
@@ -163,7 +163,8 @@
                                  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;