[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Assertion triggered in liblber if LDAP server is down (ITS#837)



At 04:00 PM 10/15/00 +0000, gombasg@inf.elte.hu wrote:
>nss_ldap contains the following code (some details omitted):

such as appropriate error checking?  ldap_adandon() should
not be called unless ldap_simple_bind() (or other request
generating call) was successful.  And if any routine returned
LDAP_SERVER_DOWN or other such error, then about the only
sensible call to make is ldap_unbind().


>msgid = ldap_simple_bind(ld, dn, pw);
>rc = ldap_result(ld, msgid, 0, &tv, &result);
>if (rc == 0)
>  ldap_abandon(ld, msgid);
>
>The problem is: when the LDAP server is down, the ldap_abandon() call triggers
>the
>"assert(sb->sb_iod != NULL)" check in liblber/sockbuf.c, line 383. I don't know
>if
>calling ldap_abandon() on a closed connection is valid or not but I think it
>should
>return an error instead of aborting the application.

Stack trace?