[PATCH][BZ #17657] Return allocated array instead array on stack.
Ondřej Bílka
neleai@seznam.cz
Mon Dec 15 22:37:00 GMT 2014
On Mon, Dec 15, 2014 at 04:03:20PM +0100, Torvald Riegel wrote:
> On Wed, 2014-12-10 at 16:13 +0100, OndÅej BÃlka wrote:
> > diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
> > index 67846b3..eeaf645 100644
> > --- a/locale/programs/ld-ctype.c
> > +++ b/locale/programs/ld-ctype.c
> > @@ -114,6 +114,9 @@ struct translit_include_t
> > struct translit_include_t *next;
> > };
> >
> > +/* Provide some dummy pointer for empty string. */
> > +static uint32_t no_str[] = { 0 };
> > +
> >
> > /* Sparse table of uint32_t. */
> > #define TABLE idx_table
>
> [...]
>
> > @@ -4090,9 +4093,6 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
> > }
> > else
> > {
> > - /* Provide some dummy pointers since we have nothing to write out. */
> > - static uint32_t no_str = { 0 };
> > -
> > ctype->translit_from_idx = &no_str;
> > ctype->translit_from_tbl = &no_str;
> > ctype->translit_to_tbl = &no_str;
>
> This 'no_str' and the one you introduced above are different. You need
> to drop the &'s here. Did you build and test with warnings enabled? A
> fairly recent GCC complains about the different pointer types.
Yes, I run test in parallel with writing mail and here I fixed that in
test but forgot to modify mail.
More information about the Libc-alpha
mailing list