From 1d4f655b7b535d7a05ea05aba35ab3abc4ec2caa Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Mon, 17 Apr 2023 17:05:51 +0300 Subject: [PATCH] {md5,sha256}_ext.c: fixed processing of initialisation error with NULL handler Thanks Christian for spotting it and for the proper fix in eeb4166266659b3aa9134c70200478d1b9ab52ff --- src/microhttpd/md5_ext.c | 7 +++++-- src/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 index edbaa0de..b6d66fed 100644 --- 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 index f8cae555..bcbe53a3 100644 --- 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)); }