1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 02:33:17 +02:00
Commit Graph

425 Commits

Author SHA1 Message Date
Paweł Tomulik efe6d96b45 fix memory leaks in ext/ldap/ldap.c 2020-07-28 10:23:10 +02:00
Paweł Tomulik 23ef0a1285 Fix some memory bugs in ldap.c 2020-07-09 18:35:00 +02:00
Christoph M. Becker 963b40c9a8 Don't use C++ style comments
Cf. <https://github.com/php/php-src/blob/f45b61b8988b5b2d80dd4a1df7edd04282cf319a/CODING_STANDARDS.md#syntax-and-indentation>

cc @mcmic
2019-08-20 13:58:22 +02:00
Nikita Popov 98457b6d60 Fix some leaks in ldap
The result of zval_get_string() needs to be released. In some places
where it is inconvenient to manage, I went back to convert_to_string.
It is safe in those places due to existing array separations.

Also fix a preexisting leak when getting controls, the previous
value was not destroyed.
2019-06-14 11:11:24 +02:00
Côme Chilliet 5d2fe48785 Some more string conversion handling, fixing bug #77958 2019-06-13 22:12:34 +02:00
Côme Chilliet c219d8d5c2 Avoid converting zval when not needed
Also added exception checks so that exception from __toString are
 correctly handled in the future
2019-06-13 20:58:45 +02:00
Côme Chilliet ea0f26420d Fix a NULL dereferencing crash in php-ldap
This happens when parsing a control response to a VLV request which does
 not contain a "context" string.

See bug #77869
2019-04-15 10:16:29 +02:00
Zeev Suraski 9afce019e0 Future-proof email addresses 2018-11-01 18:35:32 +02:00
Gabriel Caruso 8ca1f47a7a Use variables that already received ZEND_NUM_ARGS() 2018-07-22 15:54:00 -03:00
Dmitry Stogov 265c3ed6cf Fixed incorrrecr zval_dtor() usage to replace value of argument passed by reference, that may lead to memory leaks. 2018-07-05 10:57:49 +03:00
Dmitry Stogov 4a475a4976 Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
2018-07-04 19:22:24 +03:00
Peter Kokot cb64696ca6 Normalize the ldap extension version in phpinfo output
This patch normalizes the phpinfo output for the ldap extension and
removes the displayed Git attribute ident blob object name.
2018-06-04 17:06:41 +02:00
Dmitry Stogov 5eb1f92f31 Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence. 2018-05-28 16:27:12 +03:00
Stanislav Malyshev 99f1d904a0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:04:22 -07:00
Stanislav Malyshev 4c06d929c0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:03:33 -07:00
Stanislav Malyshev 95ee9efa57 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:00:24 -07:00
Stanislav Malyshev 5a18d7a0df Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 21:59:57 -07:00
Stanislav Malyshev 49782c5499 Fix bug #76248 - Malicious LDAP-Server Response causes Crash 2018-04-22 22:01:35 -07:00
Gabriel Caruso a2933e9ebb Fix some compile results warnings 2018-02-18 16:22:31 +01:00
Gabriel Caruso a5f1a585e6 Removed unused variables 2018-02-11 22:46:33 +01:00
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui 7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Dmitry Stogov 9e709e2fa0 Move constants into read-only data segment 2017-12-14 18:43:44 +03:00
Dmitry Stogov 6a9d2b2190 Cleanup type conversion 2017-12-07 19:24:55 +03:00
Côme Chilliet 9a4f3505ff Added support for VLV controls request and response 2017-09-21 10:05:42 +02:00
Côme Chilliet 6ac7d313c8 Added support for SORT controls
On an openldap server you need the sssvlv overlay for these to work
2017-09-21 10:05:42 +02:00
Côme Chilliet def30dbde2 Avoid memory leak when creating paged control value 2017-09-21 10:05:42 +02:00
Côme Chilliet d76d57b887 Fixed ifdef for VLV controls (copy/paste error) 2017-09-21 10:05:42 +02:00
Côme Chilliet c112b53a60 Added ldap_rename_ext and its test 2017-09-21 10:05:42 +02:00
Côme Chilliet 679442b1d1 Indexing controls by OID when parsing them 2017-09-21 10:05:42 +02:00
Côme Chilliet 9c7666d93a Avoid returning iscritical field when parsing response controls
As stated in RFC4511 Section 4.1.11, this field is always false in
 response controls and only makes sense in request controls
2017-09-21 10:05:42 +02:00
Côme Chilliet d8a7214d8c Fixed ldap_parse_result comment 2017-09-21 10:05:42 +02:00
Côme Chilliet ead53aba54 Added ldap_delete_ext and its test 2017-09-21 10:05:42 +02:00
Côme Chilliet 17e490a2e3 Added ldap_mod_*_ext methods for modification with controls 2017-09-21 10:05:42 +02:00
Côme Chilliet 32b51035be Added ldap_add_ext and preread/postread support and tests 2017-09-21 10:05:42 +02:00
Côme Chilliet b36342453b Added ldap_bind_ext to pass controls and get result object
ldap_bind_ext allows to pass controls and get result object
 from bind operation
Also added a test for it, pretty basic as tests cannot depend upon
 ppolicy overlay
2017-09-21 10:05:41 +02:00
Côme Chilliet 9275e05d8e Improved a bit error handling to avoid passing commands with incomplete controls 2017-09-21 10:05:41 +02:00
Côme Chilliet 3a1ba93066 Added support and test for LDAP_CONTROL_VALUESRETURNFILTER 2017-09-21 10:05:41 +02:00
Côme Chilliet b5ca0c1c78 Removed client controls alltogether
Client controls are ldap client lib specific and all the one
 I could find are ignoring client controls anyway.
2017-09-21 10:05:41 +02:00
Côme Chilliet 81b27abac0 Added support for controls in ldap_modify_batch 2017-09-21 10:05:41 +02:00
Côme Chilliet 2b52cb74da Added controls support to ldap_compare
Note: for functions like ldap_compare, ldap_delete, ldap_modify,
 a way to get the result object back will need to be added
 so that controls returned by the server may be analyzed.
2017-09-21 10:05:41 +02:00
Côme Chilliet 82cc72a3ba Added controls support to ldap_rename 2017-09-21 10:05:41 +02:00
Côme Chilliet 437c75abcb Fixed prototypes in comments 2017-09-21 10:05:41 +02:00
Côme Chilliet 93fbbbf5a6 Added controls support to ldap_delete 2017-09-21 10:05:40 +02:00
Côme Chilliet 5ee0fc9b56 Added support for controls in ldap_add, ldap_modify, ldap_mod_*
Also added workaround for a bug in ldap_create_assertion_control_value
Made sure failed control creation aborts the operation
And added test for assertion control on ldap_modify
2017-09-21 10:05:40 +02:00
Côme Chilliet 02bd89a552 Added support for assert control value encoding 2017-09-21 10:05:40 +02:00
Côme Chilliet 5691d8bf49 Added controls support to ldap_exop 2017-09-21 10:05:40 +02:00
Côme Chilliet 8de071e0f7 Added controls support to ldap_search, ldap_list and ldap_read. 2017-09-21 10:05:40 +02:00
Côme Chilliet 5ccb31e49e Added controls support to ldap_parse_result and ldap_exop_passwd
Known controls are parsed to and from associative arrays.
Only ppolicy and paged results are implemented for now.
2017-09-21 10:05:40 +02:00