wldap32: Accept a NULL value in ldap_set_option.

This commit is contained in:
Hans Leidekker 2011-03-29 13:59:22 +02:00 committed by Alexandre Julliard
parent 552715f0c1
commit 95a5e9eba1
2 changed files with 21 additions and 2 deletions

View File

@ -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)
{

View File

@ -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 );
}