DragonFlyBSD Kernel Audit
DF-0969 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/crypto/rijndael/rijndael-api-fst.c b/sys/crypto/rijndael/rijndael-api-fst.c
--- a/sys/crypto/rijndael/rijndael-api-fst.c
+++ b/sys/crypto/rijndael/rijndael-api-fst.c
@@ -388,7 +388,7 @@
 		/* last block */
 		rijndaelDecrypt(key->rk, key->Nr, input, block);
 		padLen = block[15];
-		if (padLen >= 16) {
+		if (padLen == 0 || padLen > 16) {
 			return BAD_DATA;
 		}
 		for (i = 16 - padLen; i < 16; i++) {