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

Re: Assertion failing in getentry.c (ITS#984)



It is not valid to call ldap_first_entry with either
argument NULL.  The behavior of such a call is undefined.

When debugging is enabled, we crash so that the programmer
can correct the bug in the calling routine.

Kurt

At 09:40 PM 1/23/01 +0000, pat@sitepak.com wrote:
>Full_Name: Pat Deegan
>Version: 2.0.7
>OS: Linux 2.2.9-19
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (206.47.244.89)
>
>
>I set up ProFTPd 1.2.0rc2 to use LDAP and created a test posixAccount.  Using
>ncftp to attempt and log in kept producing errors:
>
>ProFTPD 1.2.0 Server (9-1-1 SuperFly ProFTPD Installation) [nine-one-one]
>Invalid reply: "proftpd: connected: nine-one-one (127.0.0.1:1943):
>getentry.c:30
>: ldap_first_entry: Assertion `chain != ((void *)0)' failed."
>
>The relevant code in getentry.c:
>
>ldap_first_entry( LDAP *ld, LDAPMessage *chain )
>{
>    assert( ld != NULL );
>    assert( LDAP_VALID( ld ) );
>===>assert( chain != NULL ); <===
>
>The odd thing is that, following the assertions, there's the test :
>
>    if( ld == NULL || chain == NULL ) {
>        return NULL;
>    }
>
>Commenting out the 
>        assert( chain != NULL ); 
>and rebuilding solved all my troubles, so far...