Hans Leidekker : wldap32: Accept a NULL value in ldap_set_option.

Alexandre Julliard julliard at winehq.org
Tue Mar 29 11:43:07 CDT 2011


Module: wine
Branch: master
Commit: 95a5e9eba1771d231142990352b60b438b5ac664
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=95a5e9eba1771d231142990352b60b438b5ac664

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Mar 29 13:59:22 2011 +0200

wldap32: Accept a NULL value in ldap_set_option.

---

 dlls/wldap32/option.c      |    4 ++--
 dlls/wldap32/tests/parse.c |   19 +++++++++++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/dlls/wldap32/option.c b/dlls/wldap32/option.c
index 801d77d..95290ce 100644
--- a/dlls/wldap32/option.c
+++ b/dlls/wldap32/option.c
@@ -319,7 +319,7 @@ ULONG CDECL ldap_set_optionA( WLDAP32_LDAP *ld, int option, void *value )
 
     TRACE( "(%p, 0x%08x, %p)\n", ld, option, value );
 
-    if (!ld || !value) return WLDAP32_LDAP_PARAM_ERROR;
+    if (!ld) return WLDAP32_LDAP_PARAM_ERROR;
 
     switch (option)
     {
@@ -422,7 +422,7 @@ ULONG CDECL ldap_set_optionW( WLDAP32_LDAP *ld, int option, void *value )
 
     TRACE( "(%p, 0x%08x, %p)\n", ld, option, value );
 
-    if (!ld || !value) return WLDAP32_LDAP_PARAM_ERROR;
+    if (!ld) return WLDAP32_LDAP_PARAM_ERROR;
 
     switch (option)
     {
diff --git a/dlls/wldap32/tests/parse.c b/dlls/wldap32/tests/parse.c
index 98e6b80..4cf8564 100644
--- a/dlls/wldap32/tests/parse.c
+++ b/dlls/wldap32/tests/parse.c
@@ -105,6 +105,24 @@ static void test_ldap_search_extW( LDAP *ld )
     ok( !ret, "ldap_search_extW failed 0x%08x\n", ret );
 }
 
+static void test_ldap_set_optionW( LDAP *ld )
+{
+    ULONG ret, oldvalue;
+
+    ret = ldap_get_optionW( ld, LDAP_OPT_REFERRALS, &oldvalue );
+    if (ret == LDAP_SERVER_DOWN || ret == LDAP_UNAVAILABLE)
+    {
+        skip("test server can't be reached\n");
+        return;
+    }
+
+    ret = ldap_set_optionW( ld, LDAP_OPT_REFERRALS, LDAP_OPT_OFF );
+    ok( !ret || broken(ret == LDAP_PARAM_ERROR) /* nt4, win2k */, "ldap_set_optionW failed 0x%08x\n", ret );
+
+    ret = ldap_set_optionW( ld, LDAP_OPT_REFERRALS, (void *)&oldvalue );
+    ok( !ret, "ldap_set_optionW failed 0x%08x\n", ret );
+}
+
 START_TEST (parse)
 {
     LDAP *ld;
@@ -114,5 +132,6 @@ START_TEST (parse)
 
     test_ldap_parse_sort_control( ld );
     test_ldap_search_extW( ld );
+    test_ldap_set_optionW( ld );
     ldap_unbind( ld );
 }




More information about the wine-cvs mailing list