]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Simplify _nettle_sha3_update by using MD_FILL_OR_RETURN_INDEX.
authorNiels Möller <nisse@lysator.liu.se>
Sun, 24 Mar 2024 12:18:37 +0000 (13:18 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 24 Mar 2024 12:18:37 +0000 (13:18 +0100)
ChangeLog
sha3.c

index 6e8e79b79a3a2ede8d040aa3dee8137872983f60..d0cd4d19625c82424a9e504ad6ff9240fa3c4f7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-03-24  Niels Möller  <nisse@lysator.liu.se>
+
+       * sha3.c (_nettle_sha3_update): Use MD_FILL_OR_RETURN_INDEX.
+
 2024-03-20  Niels Möller  <nisse@lysator.liu.se>
 
        * testsuite/gcm-test.c (test_main): Add a test case that triggers
diff --git a/sha3.c b/sha3.c
index 0eecfb22229dc0448faf679c266823f4387ae185..d113f0fc73b0752a2bf9faf479259540ebaaefe9 100644 (file)
--- a/sha3.c
+++ b/sha3.c
@@ -42,6 +42,7 @@
 #include "sha3-internal.h"
 
 #include "macros.h"
+#include "md-internal.h"
 #include "memxor.h"
 
 static void
@@ -72,19 +73,8 @@ _nettle_sha3_update (struct sha3_state *state,
 
   if (pos > 0)
     {
-      unsigned left = block_size - pos;
-      if (length < left)
-       {
-         memcpy (block + pos, data, length);
-         return pos + length;
-       }
-      else
-       {
-         memcpy (block + pos, data, left);
-         data += left;
-         length -= left;
-         sha3_absorb (state, block_size, block);
-       }
+      MD_FILL_OR_RETURN_INDEX (block_size, block, pos, length, data);
+      sha3_absorb (state, block_size, block);
     }
   for (; length >= block_size; length -= block_size, data += block_size)
     sha3_absorb (state, block_size, data);