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

Re: (ITS#7762) ldap_dn2bv_x misbehaves for "empty" dn



marc.schmitzer@richard-wolf.com wrote:
> Full_Name: Marc Schmitzer
> Version: 2.4.28
> OS: Linux
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (217.6.229.211)
>
>
> The ldap_dn2bv_x function misbehaves for the LDAPV2 and LDAPV3 formats when it
> is passed an "empty" DN in the form of an LDAPRDN-array whose first element is
> NULL. The "len" variable remains zero throughout the function, as no RDNS are
> processed. Finally, the bv_len member of the output struct berval is set to
> len-1. The result is a berval with bv_len = UINT_MAX.
>
> Tested with 2.4.28, but the problem appears to present in the current git master
> as well.

Thanks for the report, fixed now in git master.
>
> The following code snippet demonstrates the problem:
>
> #include <stdio.h>
> #include <ldap.h>
>
> int main(int argc, char** argv)
> {
>    LDAPRDN dn[1] = { NULL };
>    struct berval bv = { 0, NULL };
>    int res = ldap_dn2bv(dn, &bv, LDAP_DN_FORMAT_LDAPV3);
>
>    printf("res: %d\n", res);
>    printf("len: %u\n", (unsigned int) bv.bv_len);
>
>    return 0;
> }
>
>
> Output:
> res: 0
> len: 4294967295
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/