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:
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));
}