From 7b983ae05467c06e6cf06d7ba6dad76490a13206 Mon Sep 17 00:00:00 2001 From: Andrey Mnatsakanov Date: Wed, 23 Mar 2016 20:25:29 +0000 Subject: [PATCH] [base64] fix crash due to broken force_assert if the input to `li_to_base64_no_padding` has length 3*n, `out_tuple_remainder` = `in_tuple_remainder` = 0, and `4*full_tuples == 4*full_tuples + out_tuple_remainder` From: Andrey Mnatsakanov git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3117 152afb58-edef-0310-8abb-c4023f1b3aa9 --- NEWS | 1 + src/base64.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 97a4ed70..6dab9723 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,7 @@ NEWS * consistent inclusion of config.h at top of files (fixes #2073) * [core] add generic vector implementation * [core] replace array weakref with vector + * [base64] fix crash due to broken force_assert - 1.4.39 - 2016-01-02 * [core] fix memset_s call (fixes #2698) diff --git a/src/base64.c b/src/base64.c index 25739bff..4ed0c03f 100644 --- a/src/base64.c +++ b/src/base64.c @@ -144,7 +144,7 @@ size_t li_to_base64_no_padding(char* out, size_t out_length, const unsigned char /* check overflows */ force_assert(full_tuples < 2*full_tuples); force_assert(full_tuples < 4*full_tuples); - force_assert(4*full_tuples < 4*full_tuples + out_tuple_remainder); + force_assert(4*full_tuples <= 4*full_tuples + out_tuple_remainder); force_assert(require_space <= out_length); for (i = 2; i < in_length; i += 3) {