diff --git a/src/mac/pmac/pmac_init.c b/src/mac/pmac/pmac_init.c index 6c515fa..81b7e85 100644 --- a/src/mac/pmac/pmac_init.c +++ b/src/mac/pmac/pmac_init.c @@ -63,6 +63,9 @@ int pmac_init(pmac_state *pmac, int cipher, const unsigned char *key, unsigned l break; } } + if (poly >= (int)(sizeof(polys)/sizeof(polys[0]))) { + return CRYPT_INVALID_ARG; + } if (polys[poly].len != pmac->block_len) { return CRYPT_INVALID_ARG; }