@@ -1499,6 +1499,10 @@ PHP_FUNCTION(sodium_crypto_pwhash)
1499
1499
zend_argument_error (sodium_exception_ce , 1 , "is too large" );
1500
1500
RETURN_THROWS ();
1501
1501
}
1502
+ if (passwd_len == 0 ) {
1503
+ zend_argument_error (sodium_exception_ce , 2 , "cannot be empty" );
1504
+ RETURN_THROWS ();
1505
+ }
1502
1506
if (passwd_len >= 0xffffffff ) {
1503
1507
zend_argument_error (sodium_exception_ce , 2 , "is too long" );
1504
1508
RETURN_THROWS ();
@@ -1519,9 +1523,6 @@ PHP_FUNCTION(sodium_crypto_pwhash)
1519
1523
zend_throw_exception (sodium_exception_ce , "unsupported password hashing algorithm" , 0 );
1520
1524
RETURN_THROWS ();
1521
1525
}
1522
- if (passwd_len <= 0 ) {
1523
- zend_error (E_WARNING , "empty password" );
1524
- }
1525
1526
if (salt_len != crypto_pwhash_SALTBYTES ) {
1526
1527
zend_argument_error (sodium_exception_ce , 3 , "must be SODIUM_CRYPTO_PWHASH_SALTBYTES bytes long" );
1527
1528
RETURN_THROWS ();
@@ -1574,6 +1575,14 @@ PHP_FUNCTION(sodium_crypto_pwhash_str)
1574
1575
sodium_remove_param_values_from_backtrace (EG (exception ));
1575
1576
RETURN_THROWS ();
1576
1577
}
1578
+ if (passwd_len == 0 ) {
1579
+ zend_argument_error (sodium_exception_ce , 1 , "cannot be empty" );
1580
+ RETURN_THROWS ();
1581
+ }
1582
+ if (passwd_len >= 0xffffffff ) {
1583
+ zend_argument_error (sodium_exception_ce , 1 , "is too long" );
1584
+ RETURN_THROWS ();
1585
+ }
1577
1586
if (opslimit <= 0 ) {
1578
1587
zend_argument_error (sodium_exception_ce , 2 , "must be greater than 0" );
1579
1588
RETURN_THROWS ();
@@ -1582,13 +1591,6 @@ PHP_FUNCTION(sodium_crypto_pwhash_str)
1582
1591
zend_argument_error (sodium_exception_ce , 3 , "must be greater than 0" );
1583
1592
RETURN_THROWS ();
1584
1593
}
1585
- if (passwd_len >= 0xffffffff ) {
1586
- zend_argument_error (sodium_exception_ce , 1 , "is too long" );
1587
- RETURN_THROWS ();
1588
- }
1589
- if (passwd_len <= 0 ) {
1590
- zend_error (E_WARNING , "empty password" );
1591
- }
1592
1594
if (opslimit < crypto_pwhash_OPSLIMIT_MIN ) {
1593
1595
zend_argument_error (sodium_exception_ce , 2 , "must be greater than or equal to %d" , crypto_pwhash_OPSLIMIT_MIN );
1594
1596
}
@@ -1643,13 +1645,14 @@ PHP_FUNCTION(sodium_crypto_pwhash_str_verify)
1643
1645
sodium_remove_param_values_from_backtrace (EG (exception ));
1644
1646
RETURN_THROWS ();
1645
1647
}
1648
+ if (passwd_len == 0 ) {
1649
+ zend_argument_error (sodium_exception_ce , 2 , "cannot be empty" );
1650
+ RETURN_THROWS ();
1651
+ }
1646
1652
if (passwd_len >= 0xffffffff ) {
1647
1653
zend_argument_error (sodium_exception_ce , 2 , "is too long" );
1648
1654
RETURN_THROWS ();
1649
1655
}
1650
- if (passwd_len <= 0 ) {
1651
- zend_error (E_WARNING , "empty password" );
1652
- }
1653
1656
if (crypto_pwhash_str_verify
1654
1657
(hash_str , passwd , (unsigned long long ) passwd_len ) == 0 ) {
1655
1658
RETURN_TRUE ;
@@ -1682,6 +1685,10 @@ PHP_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256)
1682
1685
zend_argument_error (sodium_exception_ce , 1 , "must be greater than 0" );
1683
1686
RETURN_THROWS ();
1684
1687
}
1688
+ if (passwd_len == 0 ) {
1689
+ zend_argument_error (sodium_exception_ce , 2 , "cannot be empty" );
1690
+ RETURN_THROWS ();
1691
+ }
1685
1692
if (opslimit <= 0 ) {
1686
1693
zend_argument_error (sodium_exception_ce , 4 , "must be greater than 0" );
1687
1694
RETURN_THROWS ();
@@ -1690,9 +1697,6 @@ PHP_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256)
1690
1697
zend_argument_error (sodium_exception_ce , 5 , "must be greater than 0" );
1691
1698
RETURN_THROWS ();
1692
1699
}
1693
- if (passwd_len <= 0 ) {
1694
- zend_error (E_WARNING , "empty password" );
1695
- }
1696
1700
if (salt_len != crypto_pwhash_scryptsalsa208sha256_SALTBYTES ) {
1697
1701
zend_argument_error (sodium_exception_ce , 3 , "must be SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES bytes long" );
1698
1702
RETURN_THROWS ();
@@ -1731,6 +1735,10 @@ PHP_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256_str)
1731
1735
sodium_remove_param_values_from_backtrace (EG (exception ));
1732
1736
RETURN_THROWS ();
1733
1737
}
1738
+ if (passwd_len == 0 ) {
1739
+ zend_argument_error (sodium_exception_ce , 1 , "cannot be empty" );
1740
+ RETURN_THROWS ();
1741
+ }
1734
1742
if (opslimit <= 0 ) {
1735
1743
zend_argument_error (sodium_exception_ce , 2 , "must be greater than 0" );
1736
1744
RETURN_THROWS ();
@@ -1739,9 +1747,6 @@ PHP_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256_str)
1739
1747
zend_argument_error (sodium_exception_ce , 3 , "must be greater than 0" );
1740
1748
RETURN_THROWS ();
1741
1749
}
1742
- if (passwd_len <= 0 ) {
1743
- zend_error (E_WARNING , "empty password" );
1744
- }
1745
1750
if (opslimit < crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE ) {
1746
1751
zend_argument_error (sodium_exception_ce , 2 , "must be greater than or equal to %d" , crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE );
1747
1752
}
@@ -1775,8 +1780,9 @@ PHP_FUNCTION(sodium_crypto_pwhash_scryptsalsa208sha256_str_verify)
1775
1780
sodium_remove_param_values_from_backtrace (EG (exception ));
1776
1781
RETURN_THROWS ();
1777
1782
}
1778
- if (passwd_len <= 0 ) {
1779
- zend_error (E_WARNING , "empty password" );
1783
+ if (passwd_len == 0 ) {
1784
+ zend_argument_error (sodium_exception_ce , 2 , "cannot be empty" );
1785
+ RETURN_THROWS ();
1780
1786
}
1781
1787
if (hash_str_len != crypto_pwhash_scryptsalsa208sha256_STRBYTES - 1 ) {
1782
1788
zend_error (E_WARNING , "wrong size for the hashed password" );
0 commit comments