Skip to content

Commit d9cd287

Browse files
mcq8nikic
authored andcommitted
Fixed bug #67707 IV not needed for ECB encryption mode, but it returns a warning
1 parent 13edec7 commit d9cd287

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ PHP NEWS
1818
. Fixed bug #67583 (double fastcgi_end_request on max_children limit).
1919
(Dmitry Saprykin)
2020

21+
- MCrypt:
22+
. Fixed bug #67707 (IV not needed for ECB encryption mode, but it returns a
23+
warning). (Robrecht Plaisier)
24+
2125
- OpenSSL:
2226
. Fixed bug #71519 (add serial hex to return value array). (xrobau)
2327

ext/mcrypt/mcrypt.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,9 @@ PHP_FUNCTION(mcrypt_generic_init)
572572
memcpy(key_s, key, key_len);
573573

574574
if (iv_len != iv_size) {
575-
php_error_docref(NULL, E_WARNING, "Iv size incorrect; supplied length: %zd, needed: %d", iv_len, iv_size);
575+
if (mcrypt_enc_mode_has_iv(pm->td)) {
576+
php_error_docref(NULL, E_WARNING, "Iv size incorrect; supplied length: %zd, needed: %d", iv_len, iv_size);
577+
}
576578
if (iv_len > iv_size) {
577579
iv_len = iv_size;
578580
}

ext/mcrypt/tests/bug67707.phpt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--TEST--
2+
Bug #67707 IV not needed for ECB encryption mode, but it returns a warning
3+
--SKIPIF--
4+
<?php if (!extension_loaded("mcrypt")) print "skip"; ?>
5+
--FILE--
6+
<?php
7+
$td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
8+
mcrypt_generic_init($td, 'secret key', NULL);
9+
?>
10+
--EXPECTF--

0 commit comments

Comments
 (0)