diff --git a/toxencryptsave/crypto_pwhash_scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c b/toxencryptsave/crypto_pwhash_scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c index 856a655e3f..693d85b024 100644 --- a/toxencryptsave/crypto_pwhash_scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +++ b/toxencryptsave/crypto_pwhash_scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c @@ -345,11 +345,11 @@ escrypt_kdf_sse(escrypt_local_t * local, errno = EINVAL; return -1; } - if ((r > SIZE_MAX / 128 / p) || -#if SIZE_MAX / 256 <= UINT32_MAX - (r > SIZE_MAX / 256) || -#endif - (N > SIZE_MAX / 128 / r)) { + int test_size_max = (r > SIZE_MAX / 128 / p) || (N > SIZE_MAX / 128 / r); + #if SIZE_MAX / 256 <= UINT32_MAX + test_size_max = (r > SIZE_MAX / 256) || test_size_max; + #endif + if (test_size_max) { errno = ENOMEM; return -1; }