@@ -1952,7 +1952,8 @@ PHP_FUNCTION(sodium_crypto_aead_aes256gcm_encrypt)
1952
1952
zend_throw_exception (sodium_exception_ce , "arithmetic overflow" , 0 );
1953
1953
RETURN_THROWS ();
1954
1954
}
1955
- if ((unsigned long long ) msg_len > (16ULL * ((1ULL << 32 ) - 2ULL )) - crypto_aead_aes256gcm_ABYTES ) {
1955
+ /* No-op to fix [-Wtype-limits] on 32bits platforms */
1956
+ if ((unsigned long long ) msg_len * 1ULL > (16ULL * ((1ULL << 32 ) - 2ULL )) - crypto_aead_aes256gcm_ABYTES ) {
1956
1957
zend_throw_exception (sodium_exception_ce , "message too long for a single key" , 0 );
1957
1958
RETURN_THROWS ();
1958
1959
}
@@ -2011,7 +2012,8 @@ PHP_FUNCTION(sodium_crypto_aead_aes256gcm_decrypt)
2011
2012
if (ciphertext_len < crypto_aead_aes256gcm_ABYTES ) {
2012
2013
RETURN_FALSE ;
2013
2014
}
2014
- if (ciphertext_len - crypto_aead_aes256gcm_ABYTES > 16ULL * ((1ULL << 32 ) - 2ULL )) {
2015
+ /* No-op to fix [-Wtype-limits] on 32bits platforms */
2016
+ if (ciphertext_len - crypto_aead_aes256gcm_ABYTES + 0ULL > 16ULL * ((1ULL << 32 ) - 2ULL )) {
2015
2017
zend_argument_error (sodium_exception_ce , 1 , "is too long" );
2016
2018
RETURN_THROWS ();
2017
2019
}
@@ -2187,7 +2189,8 @@ PHP_FUNCTION(sodium_crypto_aead_chacha20poly1305_ietf_encrypt)
2187
2189
zend_throw_exception (sodium_exception_ce , "arithmetic overflow" , 0 );
2188
2190
RETURN_THROWS ();
2189
2191
}
2190
- if ((unsigned long long ) msg_len > 64ULL * (1ULL << 32 ) - 64ULL ) {
2192
+ /* No-op to fix [-Wtype-limits] on 32bits platforms */
2193
+ if ((unsigned long long ) msg_len * 1ULL > 64ULL * (1ULL << 32 ) - 64ULL ) {
2191
2194
zend_throw_exception (sodium_exception_ce , "message too long for a single key" , 0 );
2192
2195
RETURN_THROWS ();
2193
2196
}
0 commit comments