libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 55aa3677af6065c96130076c85e3c672e7ba0a49
parent e1b0fc4101c2a81a46246e7d27babbf9b4491ce6
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Mon, 17 Apr 2023 17:05:51 +0300

{md5,sha256}_ext.c: fixed processing of initialisation error with NULL handler

Thanks Christian for spotting it and for the proper fix in eeb4166266659b3aa9134c70200478d1b9ab52ff

Diffstat:
Msrc/microhttpd/md5_ext.c | 7+++++--
Msrc/microhttpd/sha256_ext.c | 7+++++--
2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/microhttpd/md5_ext.c b/src/microhttpd/md5_ext.c @@ -47,8 +47,11 @@ MHD_MD5_init_one_time (struct Md5CtxExt *ctx) gnutls_free (ctx->handle); ctx->handle = NULL; } - else - mhd_assert (NULL != ctx->handle); /* If error is not returned, the handle must not be NULL */ + + /* If handle is NULL, the error must be set */ + mhd_assert ((NULL != ctx->handle) || (0 != ctx->ext_error)); + /* If error is set, the handle must be NULL */ + mhd_assert ((0 == ctx->ext_error) || (NULL == ctx->handle)); } diff --git a/src/microhttpd/sha256_ext.c b/src/microhttpd/sha256_ext.c @@ -48,8 +48,11 @@ MHD_SHA256_init_one_time (struct Sha256CtxExt *ctx) gnutls_free (ctx->handle); ctx->handle = NULL; } - else - mhd_assert (NULL != ctx->handle); /* If error is not returned, the handle must not be NULL */ + + /* If handle is NULL, the error must be set */ + mhd_assert ((NULL != ctx->handle) || (0 != ctx->ext_error)); + /* If error is set, the handle must be NULL */ + mhd_assert ((0 == ctx->ext_error) || (NULL == ctx->handle)); }