jsafrane@redhat.com wrote:
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.
I think the fix belongs to ldap_add_ext(), as other applications may well call it with invalid parameters. I've applied a fix to HEAD code, please test. The fix is
Checking in libraries/libldap/add.c; /repo/OpenLDAP/pkg/ldap/libraries/libldap/add.c,v <-- add.c new revision: 1.32; previous revision: 1.31
It hould apply straightforwardly to the release you're using.
Thanks, p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ----------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Fax: +39 0382 476497 Email: ando@sys-net.it -----------------------------------