Skip to content

Commit 8c53c34

Browse files
committed
Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src: Fixed bug #74402 (segfault on random_bytes, bin2hex, openssl_seal)
2 parents d9e2f80 + 42e576a commit 8c53c34

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

ext/openssl/openssl.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5399,7 +5399,6 @@ PHP_FUNCTION(openssl_seal)
53995399

54005400
if (len1 + len2 > 0) {
54015401
zval_dtor(sealdata);
5402-
buf[len1 + len2] = '\0';
54035402
ZVAL_NEW_STR(sealdata, zend_string_init((char*)buf, len1 + len2, 0));
54045403
efree(buf);
54055404

ext/openssl/tests/bug74402.phpt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
--TEST--
2+
Bug #74402 (segfault on random_bytes, bin3hex, openssl_seal)
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded("openssl")) {
6+
print "skip";
7+
}
8+
if (!in_array('AES256', openssl_get_cipher_methods(true))) {
9+
print "skip";
10+
}
11+
?>
12+
--FILE--
13+
<?php
14+
$data = "23153b1cf683cb16f8d71190a7c42f38fecda27c29a7bc8991c9f6a2a63602bf";
15+
$key = array("-----BEGIN PUBLIC KEY-----
16+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqvjCLfpS0MyilIjR+IsH
17+
HPH8TqFUCw4kTAVmTy9SDZV9hHYY2EPgrlTd7gvMP/DWipvBD6Y5w2bPdAQoXr5D
18+
qEKAGkE+1El4hS8XyuOdYXSYTDH1HPSlFiGdgsnlkFcbh/fJyzIKBaGLnWxsjhiS
19+
deiI7KuEkI9zt+X2r4KqFt/dhnXz0kcB1M7qyhQ6Rvijgjy/A1LsN4ZAREFLCEjb
20+
1AP9nk0QAUHWcG5MvbgsE20Pn4R5wFsMFBTvNmb34jHFREgR9j4DYcV5FFR3tKb8
21+
3XtjE9/kjfK29BSpiyXZs8PSqDhO00vh6txUB4VfkVUD2Bi93rxDeyALnCW7My+l
22+
YwIDAQAB
23+
-----END PUBLIC KEY-----");
24+
$iv = '';
25+
var_dump(strlen($data));
26+
var_dump(openssl_seal($data, $sealed_data, $env_keys, $key, 'AES256', $iv));
27+
?>
28+
--EXPECTF--
29+
int(64)
30+
int(80)

0 commit comments

Comments
 (0)