Skip to content

Commit 326094a

Browse files
committed
remove support for getBytesFromString("",0);
for consistency, I would prefer to actually support this, but TimWolla disagrees, and i cba fighting for it (it's an edge-case after all): #12216 (comment)
1 parent c56fe83 commit 326094a

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

ext/random/randomizer.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -390,8 +390,8 @@ PHP_METHOD(Random_Randomizer, getBytesFromString)
390390
const size_t source_length = ZSTR_LEN(source);
391391
const size_t max_offset = source_length - 1;
392392

393-
if (source_length < 1 && length > 0) {
394-
zend_argument_value_error(1, "cannot be empty when argument #2 ($length) is greater than 0");
393+
if (source_length < 1) {
394+
zend_argument_value_error(1, "cannot be empty");
395395
RETURN_THROWS();
396396
}
397397

ext/random/tests/03_randomizer/methods/getBytes.phpt

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ foreach ($engines as $engine) {
2727
$randomizer = new Randomizer($engine);
2828

2929
// Using 10_000 is very slow.
30-
for ($i = 1; $i < 1_000; $i++) {
30+
for ($i = 0; $i < 1_000; ++$i) {
3131
if (\strlen($randomizer->getBytes($i)) !== $i) {
3232
die("failure: incorrect string length at {$i}");
3333
}

ext/random/tests/03_randomizer/methods/getBytesFromString.phpt

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ foreach ($engines as $engine) {
2727
$randomizer = new Randomizer($engine);
2828
var_dump($randomizer->getBytesFromString('a', 10));
2929
var_dump($randomizer->getBytesFromString(str_repeat('a', 256), 5));
30-
var_dump($randomizer->getBytesFromString('', 0));
30+
var_dump($randomizer->getBytesFromString('a', 0));
3131

3232
for ($i = 1; $i < 250; $i++) {
3333
$output = $randomizer->getBytesFromString(str_repeat('ab', $i), 500);

ext/random/tests/03_randomizer/methods/getBytesFromString_error.phpt

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ try {
2424

2525
?>
2626
--EXPECT--
27-
Random\Randomizer::getBytesFromString(): Argument #1 ($string) cannot be empty when argument #2 ($length) is greater than 0
27+
Random\Randomizer::getBytesFromString(): Argument #1 ($string) cannot be empty
2828
Random\Randomizer::getBytesFromString(): Argument #2 ($length) must be greater than or equal to 0

0 commit comments

Comments
 (0)