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

Re: (ITS#6390) test020 seg faults



Hm, I get the following warning during the make run:

cc -g -O2 -I../../include -I../../../servers/slapd -
I../../../servers/slapd/slapi -I. -I../../../include       -c -o syncrepl.o=
=20
=2E./../../servers/slapd/syncrepl.c
=2E./../../servers/slapd/syncrepl.c: In function =E2=80=98syncrepl_add_glue=
=E2=80=99:                                                                 =
                            =20
=2E./../../servers/slapd/syncrepl.c:2861: warning: cast to pointer from int=
eger=20
of different size                                                          =
       =20
=2E./../../servers/slapd/syncrepl.c:2936: warning: cast to pointer from int=
eger=20
of different size                                                          =
       =20
=2E./../../servers/slapd/syncrepl.c:2945: warning: cast to pointer from int=
eger=20
of different size

=2E./../../servers/slapd/syncrepl.c:2861 is:
comma =3D ber_bvrchr( &ptr, ',' );
with ber_bvrchr being a macro around memrchr(). So it seems that memrchr() =
is=20
undefined in syncrepl.c.

Digging through the glibc headers it seems that memrchr() is hidden behind=
=20
_GNU_SOURCE. Adding a #define _GNU_SOURCE 1 seems to fix the problem. At le=
ast=20
the warnings go away and test020 did fail during the last 40 testruns for m=
e.

=2D-=20
Ralf