key/key-io.c: Add low-level `key_mergeline' and `key_extractline' functions.
[catacomb] / symm / sha3.c
index 97b41e3..1696762 100644 (file)
@@ -231,7 +231,7 @@ static void leftenc_sz(shake_ctx *ctx, size_t n)
   octet b[9];
   unsigned i;
 
-  SET64(t, ((n&~MASK32) >> 16) >> 16, n&MASK32);
+  SET64(t, ((n&~(size_t)MASK32) >> 16) >> 16, n&MASK32);
   STORE64_B_(b + 1, t);
   for (i = 1; i < 8 && !b[i]; i++);
   i--; b[i] = 8 - i;
@@ -244,7 +244,7 @@ static void rightenc_sz(shake_ctx *ctx, size_t n)
   octet b[9];
   unsigned i;
 
-  SET64(t, ((n&~MASK32) >> 16) >> 16, n&MASK32);
+  SET64(t, ((n&~(size_t)MASK32) >> 16) >> 16, n&MASK32);
   STORE64_B_(b, t);
   for (i = 0; i < 7 && !b[i]; i++);
   b[8] = 8 - i;
@@ -563,7 +563,7 @@ static gcipher *shake128_gcinit(const void *k, size_t sz)
 static gcipher *shake256_gcinit(const void *k, size_t sz)
 {
   shake_gcctx *cc = S_CREATE(shake_gcctx);
-  cc->gc.ops = &shake128_gcops;
+  cc->gc.ops = &shake256_gcops;
   shake256_init(&cc->c); shake_hash(&cc->c, k, sz); shake_xof(&cc->c);
   return (&cc->gc);
 }