File tree Expand file tree Collapse file tree 3 files changed +29
-2
lines changed Expand file tree Collapse file tree 3 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,9 @@ PHP NEWS
24
24
. Fixed #79114 (Eval class during preload causes class to be only half
25
25
available). (Laruence)
26
26
27
+ - OpenSSL:
28
+ . Fixed bug #79145 (openssl memory leak). (cmb, Nikita)
29
+
27
30
- Reflection:
28
31
. Fixed bug #79115 (ReflectionClass::isCloneable call reflected class
29
32
__destruct). (Nikita)
Original file line number Diff line number Diff line change @@ -4767,7 +4767,6 @@ PHP_FUNCTION(openssl_pkey_get_public)
4767
4767
RETURN_FALSE ;
4768
4768
}
4769
4769
ZVAL_RES (return_value , res );
4770
- Z_ADDREF_P (return_value );
4771
4770
}
4772
4771
/* }}} */
4773
4772
@@ -4809,7 +4808,6 @@ PHP_FUNCTION(openssl_pkey_get_private)
4809
4808
RETURN_FALSE ;
4810
4809
}
4811
4810
ZVAL_RES (return_value , res );
4812
- Z_ADDREF_P (return_value );
4813
4811
}
4814
4812
4815
4813
/* }}} */
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #79145 (openssl memory leak)
3
+ --SKIPIF--
4
+ <?php
5
+ if (!extension_loaded ('openssl ' )) die ('skip openssl extension not available ' );
6
+ if (getenv ('SKIP_SLOW_TESTS ' )) die ('skip slow test ' );
7
+ ?>
8
+ --FILE--
9
+ <?php
10
+ $ b = '-----BEGIN PUBLIC KEY-----
11
+ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaFhc31WeskqxwI+Si5R/fZrLK
12
+ pJOlABiI3RZfKCHJVrXl3IvcHDFM/BHKUJoSi/ee8GS9iw0G4Z1eCzJdthXxHARh
13
+ j85Q5OliVxOdB1LoTOsOmfFf/fdvpU3DsOWsDKlVrL41MHxXorwrwOiys/r/gv2d
14
+ C9C4JmhTOjBVAK8SewIDAQAC
15
+ -----END PUBLIC KEY----- ' ;
16
+
17
+ $ start = memory_get_usage (true );
18
+ for ($ i = 0 ; $ i < 100000 ; $ i ++) {
19
+ $ a = openssl_get_publickey ($ b );
20
+ openssl_free_key ($ a );
21
+ }
22
+ $ end = memory_get_usage (true );
23
+ var_dump ($ end <= 1.1 * $ start );
24
+ ?>
25
+ --EXPECT--
26
+ bool(true)
You can’t perform that action at this time.
0 commit comments