Просмотр исходного кода

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

Thanks Christian for spotting it and for the proper fix in eeb4166266659b3aa9134c70200478d1b9ab52ff
Evgeny Grin (Karlson2k) 2 лет назад
Родитель
Сommit
1d4f655b7b
2 измененных файлов с 10 добавлено и 4 удалено
  1. 5 2
      src/microhttpd/md5_ext.c
  2. 5 2
      src/microhttpd/sha256_ext.c

+ 5 - 2
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));
 }
 
 

+ 5 - 2
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));
 }