summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwayne C. Litzenberger <dlitz@dlitz.net>2009-10-08 22:37:04 -0400
committerDwayne C. Litzenberger <dlitz@dlitz.net>2009-10-10 17:07:24 -0400
commit99e5ac529c7f1ce9c365022f608eeffd02afdf37 (patch)
treed15346951e1799f3f0c399fddbd974164eee4ce1
parent07e26a542b0374dcfe9bb4aa765e21f62e1e6707 (diff)
downloadpycrypto-99e5ac529c7f1ce9c365022f608eeffd02afdf37.tar.gz
block_template.c: when using MODE_CFB, raise ValueError if segment_size is not a multiple of 8 bits
-rw-r--r--src/block_template.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/block_template.c b/src/block_template.c
index 5c14a7d..9f4cdf9 100644
--- a/src/block_template.c
+++ b/src/block_template.c
@@ -161,10 +161,10 @@ ALGnew(PyObject *self, PyObject *args, PyObject *kwdict)
/* Mode-specific checks */
if (mode == MODE_CFB) {
if (segment_size == 0) segment_size = 8;
- if (segment_size < 1 || segment_size > BLOCK_SIZE*8) {
+ if (segment_size < 1 || segment_size > BLOCK_SIZE*8 || ((segment_size & 7) != 0)) {
PyErr_Format(PyExc_ValueError,
- "segment_size must be multiple of 8 "
- "between 1 and %i", BLOCK_SIZE);
+ "segment_size must be multiple of 8 (bits) "
+ "between 1 and %i", BLOCK_SIZE*8);
return NULL;
}
}