chiark / gitweb /
algorithms.c (FOO.hashbufN): Consistently raise `ValueError' if too big.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 13 Oct 2019 23:53:56 +0000 (00:53 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 11 Apr 2020 11:49:31 +0000 (12:49 +0100)
algorithms.c
t/t-algorithms.py

index 4c8158d3f0f9d5e149b2998e4cf9cd7e200aa485..8f3ae0bbc677171a3d95f635165c73dde2997ba4 100644 (file)
@@ -1194,7 +1194,7 @@ DOUINTCONV(GAEAMETH_HASHU_)
   {                                                                    \
     struct bin in; octet b[SZ_##W];                                    \
     if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
-    if (in.sz > MASK##n) TYERR("string too long");                     \
+    if (in.sz > MASK##n) VALERR("too large");                          \
     STORE##W(b, in.sz); if (gaeadaad_hash(me, b, sizeof(b))) goto end; \
     if (gaeadaad_hash(me, in.p, in.sz)) goto end;                      \
     RETURN_ME;                                                         \
@@ -2044,7 +2044,7 @@ DOUINTCONV(GHMETH_HASHU_)
   {                                                                    \
     struct bin in;                                                     \
     if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
-    if (in.sz > MASK##n) TYERR("string too long");                     \
+    if (in.sz > MASK##n) VALERR("too large");                          \
     GH_HASHBUF##W(GHASH_H(me), in.p, in.sz);                           \
     RETURN_ME;                                                         \
   end:                                                                 \
@@ -2588,7 +2588,7 @@ DOUINTCONV(POLYMETH_HASHU_)
     struct bin in;                                                     \
     octet b[SZ_##W];                                                   \
     if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
-    if (in.sz > MASK##n) TYERR("string too long");                     \
+    if (in.sz > MASK##n) VALERR("too large");                          \
     STORE##W(b, in.sz); poly1305_hash(P1305_CTX(me), b, sizeof(b));    \
     poly1305_hash(P1305_CTX(me), in.p, in.sz);                         \
     RETURN_ME;                                                         \
@@ -3081,7 +3081,7 @@ DOUINTCONV(SHAKEMETH_HASHU_)
     struct bin in;                                                     \
     octet b[SZ_##W];                                                   \
     if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
-    if (in.sz > MASK##n) TYERR("string too long");                     \
+    if (in.sz > MASK##n) VALERR("too large");                          \
     if (shake_check(me, 0)) goto end;                                  \
     STORE##W(b, in.sz); shake_hash(SHAKE_H(me), b, sizeof(b));         \
     shake_hash(SHAKE_H(me), in.p, in.sz);                              \
index 8346fad1b8da6fbcb63273ad4f9a6e8c22d53689..261c53bf05e5aab36b6d5221510c29c319166971 100644 (file)
@@ -95,8 +95,7 @@ class HashBufferTestMixin (U.TestCase):
     if w <= 3:
       n = 1 << 8*w
       h0, _ = makefn(w + n)
-      me.assertRaises((ValueError, TypeError),
-                      hashfn, h0, C.ByteString.zero(n))
+      me.assertRaises(ValueError, hashfn, h0, C.ByteString.zero(n))
 
   def check_hashbuffer(me, makefn):
     """Test the various `hash...' methods."""