[Date Prev][Date Next]
RE: The latest CLDAP fix render slapd not working in Solaris 64 bits mode (ITS#2344)
Oops, quite right. The previous patch changed too much. I've reverted part of
it to prevent the data overwrite. Please test again.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of
> Sent: Monday, March 03, 2003 12:58 PM
> To: openldap-its@OpenLDAP.org
> Subject: The latest CLDAP fix render slapd not working in Solaris 64
> bits mode (ITS#2344)
> Full_Name: Max Chern
> Version: HEAD
> OS: Solaris 5.8
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (126.96.36.199)
> The latest fix of libraries/liblber/io.c,v 1.81 2003/03/02
> 03:02:39 in HEAD
> works fine with 32 bits Soalris, but cause major problem for
> 64 bits Soalris.
> Now both TCP and UDP are broken.
> The problem is at line 587.
> ber->ber_len = tlen;
> Note that under Solaris 64 bits mode, long is 8 bytes, so not
> only the data
> size is different, the data location is different as well. So
> either change
> ber_tag_t, ber_len_t to fixed 32 bits, or the assignment
> statement (ber->ber_len
> = tlen;) will need to be delayed after all AC_MEMCPY() is done.