File tree Expand file tree Collapse file tree 2 files changed +32
-3
lines changed Expand file tree Collapse file tree 2 files changed +32
-3
lines changed Original file line number Diff line number Diff line change @@ -986,8 +986,6 @@ PHP_FUNCTION(ldap_connect)
986
986
RETURN_FALSE ;
987
987
}
988
988
989
- object_init_ex (return_value , ldap_link_ce );
990
- ld = Z_LDAP_LINK_P (return_value );
991
989
992
990
{
993
991
int rc = LDAP_SUCCESS ;
@@ -1010,13 +1008,17 @@ PHP_FUNCTION(ldap_connect)
1010
1008
1011
1009
/* ensure all pending TLS options are applied in a new context */
1012
1010
if (ldap_set_option (NULL , LDAP_OPT_X_TLS_NEWCTX , & val ) != LDAP_OPT_SUCCESS ) {
1013
- zval_ptr_dtor (return_value );
1011
+ if (url != host ) {
1012
+ efree (url );
1013
+ }
1014
1014
php_error_docref (NULL , E_WARNING , "Could not create new security context" );
1015
1015
RETURN_FALSE ;
1016
1016
}
1017
1017
LDAPG (tls_newctx ) = false;
1018
1018
}
1019
1019
#endif
1020
+ object_init_ex (return_value , ldap_link_ce );
1021
+ ld = Z_LDAP_LINK_P (return_value );
1020
1022
1021
1023
#ifdef LDAP_API_FEATURE_X_OPENLDAP
1022
1024
/* ldap_init() is deprecated, use ldap_initialize() instead.
@@ -1029,6 +1031,9 @@ PHP_FUNCTION(ldap_connect)
1029
1031
ldap = ldap_init (host , port );
1030
1032
if (ldap == NULL ) {
1031
1033
zval_ptr_dtor (return_value );
1034
+ if (url != host ) {
1035
+ efree (url );
1036
+ }
1032
1037
php_error_docref (NULL , E_WARNING , "Could not create session handle" );
1033
1038
RETURN_FALSE ;
1034
1039
}
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ ldap_connect() - Connection errors
3
+ --EXTENSIONS--
4
+ ldap
5
+ --INI--
6
+ error_reporting=E_ALL & ~E_DEPRECATED
7
+ --FILE--
8
+ <?php
9
+ require "connect.inc " ;
10
+ try {
11
+ ldap_connect ("nope:// $ host " , 65536 );
12
+ } catch (\ValueError $ e ) {
13
+ echo $ e ->getMessage (), PHP_EOL ;
14
+ }
15
+
16
+ try {
17
+ ldap_connect ("nope:// $ host " , 0 );
18
+ } catch (\ValueError $ e ) {
19
+ echo $ e ->getMessage (), PHP_EOL ;
20
+ }
21
+ ?>
22
+ --EXPECT--
23
+ ldap_connect(): Argument #2 ($port) must be between 1 and 65535
24
+ ldap_connect(): Argument #2 ($port) must be between 1 and 65535
You can’t perform that action at this time.
0 commit comments