This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On Tue, Feb 03, 2015 at 07:38:43AM -0800, H.J. Lu wrote:
> > I think you should also remove
> >
> > h->use_extra_arg = 0;
> >
>
> And
>
> /* The initial chunk now contains no empty object. */
> h->maybe_empty_object = 0;
> h->alloc_failed = 0;
Done. Verified on s390x.
Siddhesh
ChangeLog for gnulib:
obstack: Initialize whole obstack structure.
* lib/obstack.c (_obstack_begin): Initialize all of H.
ChangeLog for glibc:
[BZ #17919]
* malloc/obstack.c (_obstack_begin): Initialize all of H.
diff --git a/malloc/obstack.c b/malloc/obstack.c
index 5bb3f0d..1957402 100644
--- a/malloc/obstack.c
+++ b/malloc/obstack.c
@@ -148,6 +148,8 @@ _obstack_begin (struct obstack *h,
{
struct _obstack_chunk *chunk; /* points to new chunk */
+ memset (h, 0, sizeof (struct obstack));
+
if (alignment == 0)
alignment = DEFAULT_ALIGNMENT;
if (size == 0)
@@ -171,7 +173,6 @@ _obstack_begin (struct obstack *h,
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
h->chunk_size = size;
h->alignment_mask = alignment - 1;
- h->use_extra_arg = 0;
chunk = h->chunk = CALL_CHUNKFUN (h, h->chunk_size);
if (!chunk)
@@ -181,9 +182,6 @@ _obstack_begin (struct obstack *h,
h->chunk_limit = chunk->limit
= (char *) chunk + h->chunk_size;
chunk->prev = 0;
- /* The initial chunk now contains no empty object. */
- h->maybe_empty_object = 0;
- h->alloc_failed = 0;
return 1;
}
Attachment:
pgpkMCp33RB3k.pgp
Description: PGP signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |