diff options
Diffstat (limited to '')
-rw-r--r-- | libhashsum_init_hasher_from_string.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libhashsum_init_hasher_from_string.c b/libhashsum_init_hasher_from_string.c index ffd23eb..e7a26d0 100644 --- a/libhashsum_init_hasher_from_string.c +++ b/libhashsum_init_hasher_from_string.c @@ -256,7 +256,10 @@ next: if (*p++ != ']' || *p) goto einval; - r = initfunc(this, n, salti ? salt : NULL, pepperi ? pepper : NULL, key, keyi); + if (keyi > SIZE_MAX / 8U) + goto einval; + + r = initfunc(this, n, salti ? salt : NULL, pepperi ? pepper : NULL, key, keyi * 8U); free(key); return r; |