Full_Name: Jan Safranek
Version: 2.4.12
OS: Linux (Fedora 9)
URL: 
Submission from: (NULL) (89.102.11.105)


ldapadd crashes with assertion 'ldapadd: encode.c:392: ber_put_string: Assertion
`str != ((void *)0)' failed.' on following input:

dn: nisMapName=netgroup.byhost,dc=my-domain,dc=com
nismapname: netgroup.byhost
objectClass: top
objectClass: nisMap
-

The reason is probably at ldapmodify.c:445, where the lines containing dash are
skipped, apparently for modify operations:

        if ( line[0] == '-' && !line[1] ) {
                BER_BVZERO( btype+i );
                freeval[i] = 0;
                continue;
        }

ldap_add_ext() seems not to like these empty spaces.

Full backtrace:

(gdb) bt full
#0  0x0000003ea4832215 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x0000003ea4833d83 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x0000003ea482b039 in __assert_fail () from /lib64/libc.so.6
No symbol table info available.
#3  0x0000000000440e0e in ber_put_string (ber=0x1573390, str=0x0,
tag=18446744073709551615) at encode.c:392
        __PRETTY_FUNCTION__ = "ber_put_string"
#4  0x0000000000441f5e in ber_printf (ber=0x1573390, fmt=0x44b34e "s[V]N}") at
encode.c:809
        ap = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 
0x7fffeaf5ed80,
reg_save_area = 0x7fffeaf5ecc0}}
        s = 0x0
        ss = (char **) 0x0
        bv = (struct berval *) 0x7fffeaf5ecf0
        bvp = (struct berval **) 0x157b718
        rc = 0
        i = 2
        len = 0
        __PRETTY_FUNCTION__ = "ber_printf"
#5  0x0000000000414edd in ldap_add_ext (ld=0x15731d0, dn=0x157c714
"nisMapName=netgroup.byhost,dc=my-domain,dc=com", attrs=0x157b6e8, sctrls=0x0, 
    cctrls=0x0, msgidp=0x7fffeaf5ee6c) at add.c:154
        ber = (BerElement *) 0x1573390
        i = 2
        rc = 30
        id = 2
        __PRETTY_FUNCTION__ = "ldap_add_ext"
#6  0x0000000000406c07 in domodify (dn=0x157c714
"nisMapName=netgroup.byhost,dc=my-domain,dc=com", pmods=0x157b6e8, pctrls=0x0,
newentry=1)
    at ldapmodify.c:1094
        msgid = 0
        rc = -352981360
        i = 3
        j = 4474435
        k = 0
        notascii = 976894522
        op = 0
        bvp = (struct berval *) 0xa0
#7  0x00000000004063e9 in process_ldif_rec (rbuf=0x157c786 "", linenum=1) at
ldapmodify.c:866
        line = 0x0
        dn = 0x157c714 "nisMapName=netgroup.byhost,dc=my-domain,dc=com"
        newrdn = 0x0
        newsup = 0x0
        rc = 0
        modop = 0
        expect_modop = 0
        expect_sep = 0
        deleteoldrdn = 1
        new_entry = 1
        delete_entry = 0
        got_all = 0
        pmods = (LDAPMod **) 0x157b6e8
        lm = (LDAPMod *) 0x157b6a0
        version = 0
        pctrls = (LDAPControl **) 0x0
        i = 5
        j = 3
        k = 6
        lines = 5
        idn = 1
        nmods = 3
        btype = (struct berval *) 0x157b5d0
        vals = (struct berval *) 0x157b630
        bvl = (struct berval **) 0x157b708
        bv = {bv_len = 0, bv_val = 0x0}
        freeval = 0x157b690 ""
        mops = (unsigned char *) 0x0
#8  0x000000000040458b in main (argc=11, argv=0x7fffeaf5f178) at
ldapmodify.c:341
        rbuf = 0x157c710 "dn"
        rejbuf = 0x0
        rejfp = (FILE *) 0x0
        ldiffp = (struct LDIFFP *) 0x1572e50
        ldifdummy = {fp = 0x0, prev = 0x0}
        matched_msg = 0x4473c0 "H\211l$�L\211|$�H\215-/\034!"
        error_msg = 0x0
        rc = 0
        retval = 0
        len = 32767
        i = 0
        lineno = 1
        nextline = 6
        lmax = 4147
        c = {{ldctl_oid = 0x7fffeaf5f020
"\214�|�����3\020", ldctl_value =
{bv_len = 226974810936, bv_val = 0x3ea480ae20 "\016\001"}, 
    ldctl_iscritical = 0 '\0'}}


Reply via email to