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

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
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support

> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of
> maxchern@earthlink.net
> 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) (207.217.88.39)
>
>
>
> 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.
>