]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/tls.c
Fix TLS bug
[openldap] / libraries / libldap / tls.c
index 6053ef85cbf062b322c6e15694bc3c9067a1628b..d7e9e650e9051ff8b7db33416f63b36c57da40d6 100644 (file)
@@ -809,13 +809,8 @@ ldap_pvt_tls_get_option( LDAP *ld, int option, void *arg )
 {
        struct ldapoptions *lo;
 
-       /* Get pointer to global option structure */
-       lo = LDAP_INT_GLOBAL_OPT();   
-       if (NULL == lo) {
-               return LDAP_NO_MEMORY;
-       }
 
-       if(ld != NULL) {
+       if( ld != NULL ) {
                assert( LDAP_VALID( ld ) );
 
                if( !LDAP_VALID( ld ) ) {
@@ -823,6 +818,13 @@ ldap_pvt_tls_get_option( LDAP *ld, int option, void *arg )
                }
 
                lo = &ld->ld_options;
+
+       } else {
+               /* Get pointer to global option structure */
+               lo = LDAP_INT_GLOBAL_OPT();   
+               if( lo == NULL ) {
+                       return LDAP_NO_MEMORY;
+               }
        }
 
        switch( option ) {
@@ -868,13 +870,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
 {
        struct ldapoptions *lo;
 
-       /* Get pointer to global option structure */
-       lo = LDAP_INT_GLOBAL_OPT();   
-       if (NULL == lo) {
-               return LDAP_NO_MEMORY;
-       }
-
-       if(ld != NULL) {
+       if( ld != NULL ) {
                assert( LDAP_VALID( ld ) );
 
                if( !LDAP_VALID( ld ) ) {
@@ -882,6 +878,13 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
                }
 
                lo = &ld->ld_options;
+
+       } else {
+               /* Get pointer to global option structure */
+               lo = LDAP_INT_GLOBAL_OPT();   
+               if( lo == NULL ) {
+                       return LDAP_NO_MEMORY;
+               }
        }
 
        switch( option ) {
@@ -910,7 +913,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
                return 0;
        }
 
-       if ( lo != NULL ) {
+       if ( ld != NULL ) {
                return -1;
        }