bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Initialize the entire obstack struct [BZ #17919]


From: Siddhesh Poyarekar
Subject: Re: [PATCH] Initialize the entire obstack struct [BZ #17919]
Date: Tue, 3 Feb 2015 21:17:03 +0530
User-agent: Mutt/1.5.23 (2014-03-12)

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: pgpjL7GhayCHW.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]