return gnutls_assert_val(ret);
ctx.set_key(&ctx, key_size, key);
- if (ctx.set_nonce)
+ if (ctx.set_nonce) {
+ if (nonce == NULL || nonce_size == 0)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+
ctx.set_nonce(&ctx, nonce_size, nonce);
+ }
ctx.update(&ctx, text_size, text);
ctx.digest(&ctx, ctx.length, digest);
struct nettle_mac_ctx *ctx = _ctx;
if (ctx->set_nonce == NULL)
- return GNUTLS_E_INVALID_REQUEST;
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+
+ if (nonce == NULL || noncelen == 0)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
ctx->set_nonce(ctx->ctx_ptr, noncelen, nonce);