Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -257,11 +257,11 @@ escrypt_kdf_nosse(escrypt_local_t * local,
errno = EINVAL;
return -1;
}
if ((r > SIZE_MAX / 128 / p) ||
_Bool test_size_max = (r > SIZE_MAX / 128 / p) || (N > SIZE_MAX / 128 / r);
#if SIZE_MAX / 256 <= UINT32_MAX
(r > SIZE_MAX / 256) ||
test_size_max = test_size_max || (r > SIZE_MAX / 256);
#endif
(N > SIZE_MAX / 128 / r)) {
if (test_size_max) {
errno = ENOMEM;
return -1;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ alloc_region(escrypt_region_t * region, size_t size)
{
uint8_t * base, * aligned;
#ifdef MAP_ANON
if ((base = (uint8_t *) mmap(NULL, size, PROT_READ | PROT_WRITE,
int flags;
#ifdef MAP_NOCORE
MAP_ANON | MAP_PRIVATE | MAP_NOCORE,
flags = MAP_ANON | MAP_PRIVATE | MAP_NOCORE;
#else
MAP_ANON | MAP_PRIVATE,
flags = MAP_ANON | MAP_PRIVATE;
#endif
-1, 0)) == MAP_FAILED)
if ((base = (uint8_t *) mmap(NULL, size, PROT_READ | PROT_WRITE, flags, -1, 0)) == MAP_FAILED)
base = NULL;
aligned = base;
#elif defined(HAVE_POSIX_MEMALIGN)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ escrypt_kdf_sse(escrypt_local_t * local,
size_t B_size, V_size, XY_size, need;
uint8_t * B;
uint32_t * V, * XY;
size_t r = _r, p = _p;
size_t r = _r, p = _p;
uint32_t i;

/* Sanity-check parameters. */
Expand All @@ -345,11 +345,11 @@ escrypt_kdf_sse(escrypt_local_t * local,
errno = EINVAL;
return -1;
}
if ((r > SIZE_MAX / 128 / p) ||
_Bool test_size_max = (r > SIZE_MAX / 128 / p) || (N > SIZE_MAX / 128 / r);
#if SIZE_MAX / 256 <= UINT32_MAX
(r > SIZE_MAX / 256) ||
test_size_max = test_size_max || (r > SIZE_MAX / 256);
#endif
(N > SIZE_MAX / 128 / r)) {
if (test_size_max) {
errno = ENOMEM;
return -1;
}
Expand Down