[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: 64bit issue in libraries/liblunicode/ucdata/ucdata.c causes slapd to dump core (ITS#1960)
Thanks.
I'll commit this as yet another hack. As I noted
previously, use of fixed sized types limits the
portability of the code (not all platforms will
have an integer type of the needed size).
Kurt
At 05:27 AM 2002-07-25, rhafer@suse.de wrote:
>--DocE+STaALJfprDB
>Content-Type: text/plain; charset=us-ascii
>Content-Disposition: inline
>
>Ok, thanks. I just tested a bit more, and stumbled over some other
>occurences of the problem. The attached patch should fix these. It seems to
>work properly. At least on the architectures I could get my hands on.
>Though there still seem to be problems on the client side. I will look into
>those next.
>
>
>On Tue, Jul 23, 2002 at 05:02:43PM +0000, Kurt D. Zeilenga wrote:
>> At 08:28 AM 2002-07-23, rhafer@suse.de wrote:
>> >Did you really commit something? I didn't see any changes to liblunicode
>> >recently.
>>
>> It's NOW committed.
>>
>>
>--
>Ralf
>
>--DocE+STaALJfprDB
>Content-Type: text/plain; charset=us-ascii
>Content-Disposition: attachment; filename="uc_data.dif"
>
>? contrib/ldapc++/depcomp
>? contrib/ldapc++/src/LDAPSaslBindRequest.cpp
>? contrib/ldapc++/src/LDAPSaslBindRequest.h
>? contrib/ldapc++/src/SASLCallbackHandler.h
>? contrib/ldapc++/src/SASLInteraction.h
>? contrib/ldapc++/src/SaslCallbackHandler.h
>Index: libraries/liblunicode/ucdata/ucdata.c
>===================================================================
>RCS file: /repo/OpenLDAP/pkg/ldap/libraries/liblunicode/ucdata/ucdata.c,v
>retrieving revision 1.18
>diff -u -r1.18 ucdata.c
>--- libraries/liblunicode/ucdata/ucdata.c 23 Jul 2002 16:22:58 -0000 1.18
>+++ libraries/liblunicode/ucdata/ucdata.c 25 Jul 2002 12:19:33 -0000
>@@ -45,8 +45,8 @@
> **************************************************************************/
>
> typedef struct {
>- ac_uint4 bom;
>- ac_uint4 cnt;
>+ ac_uint2 bom;
>+ ac_uint2 cnt;
> union {
> ac_uint4 bytes;
> ac_uint2 len[2];
>Index: libraries/liblunicode/ucdata/ucgendat.c
>===================================================================
>RCS file: /repo/OpenLDAP/pkg/ldap/libraries/liblunicode/ucdata/ucgendat.c,v
>retrieving revision 1.20
>diff -u -r1.20 ucgendat.c
>--- libraries/liblunicode/ucdata/ucgendat.c 23 Jul 2002 16:41:30 -0000 1.20
>+++ libraries/liblunicode/ucdata/ucgendat.c 25 Jul 2002 12:19:33 -0000
>@@ -30,6 +30,7 @@
> #include "ldap_config.h"
>
> #include <stdio.h>
>+#include <ac/bytes.h>
> #include <ac/stdlib.h>
> #include <ac/string.h>
> #include <ac/unistd.h>
>@@ -1216,7 +1217,8 @@
> write_cdata(char *opath)
> {
> FILE *out;
>- unsigned long i, idx, bytes, nprops;
>+ unsigned long i, idx, nprops;
>+ ac_uint4 bytes;
> unsigned short casecnt[2];
> char path[BUFSIZ];
>
>@@ -1273,7 +1275,7 @@
> /*
> * Write the byte count.
> */
>- fwrite((char *) &bytes, sizeof(unsigned long), 1, out);
>+ fwrite((char *) &bytes, sizeof(ac_uint4), 1, out);
>
> /*
> * Write the property list counts.
>
>--DocE+STaALJfprDB--