From d0c86a102f63c29ca05e9445c24c40effa809547 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Sat, 25 Jan 2014 08:59:51 +0100
Subject: [PATCH] Delete length argument from GCM_SET_KEY.

---
 ChangeLog | 6 ++++++
 gcm-aes.c | 4 +++-
 gcm.h     | 4 ++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2fc92a93..53348ae4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-01-25  Niels Möller  <nisse@lysator.liu.se>
+
+	* gcm.h (GCM_SET_KEY): Deleted length argument.
+	* gcm-aes.c (gcm_aes_set_key): Use aes_set_encrypt_key and
+	gcm_set_key, can no longer use GCM_SET_KEY macro.
+
 2014-01-23  Niels Möller  <nisse@lysator.liu.se>
 
 	* testsuite/gcm-test.c (test_main): Use the correct
diff --git a/gcm-aes.c b/gcm-aes.c
index f5f54bc4..37213c3c 100644
--- a/gcm-aes.c
+++ b/gcm-aes.c
@@ -32,7 +32,9 @@
 void
 gcm_aes_set_key(struct gcm_aes_ctx *ctx, size_t length, const uint8_t *key)
 {
-  GCM_SET_KEY(ctx, aes_set_encrypt_key, aes_encrypt, length, key);
+  aes_set_encrypt_key (&ctx->cipher, length, key);
+  gcm_set_key (&ctx->key, &ctx->cipher,
+	       (nettle_crypt_func *) aes_encrypt);
 }
 
 void
diff --git a/gcm.h b/gcm.h
index 39b9e48a..10578107 100644
--- a/gcm.h
+++ b/gcm.h
@@ -115,9 +115,9 @@ gcm_digest(struct gcm_ctx *ctx, const struct gcm_key *key,
 { type cipher; struct gcm_key key; struct gcm_ctx gcm; }
 
 /* NOTE: Avoid using NULL, as we don't include anything defining it. */
-#define GCM_SET_KEY(ctx, set_key, encrypt, length, data)	\
+#define GCM_SET_KEY(ctx, set_key, encrypt, key)			\
   do {								\
-    (set_key)(&(ctx)->cipher, (length), (data));		\
+    (set_key)(&(ctx)->cipher, (key));				\
     if (0) (encrypt)(&(ctx)->cipher, 0, (void *)0, (void *)0);	\
     gcm_set_key(&(ctx)->key, &(ctx)->cipher,			\
 		(nettle_crypt_func *) (encrypt));		\
-- 
GitLab