package: libc6 tag: patch obstack_free and _obstack_free do not properly reset the obstack to an empty state, in the case when freeing all objects(NULL). This is because ->chunk is not set when lp == NULL.
The following patch fixes it for me. Index: optlib/obstack.c =================================================================== RCS file: /cvs/dpkg/dpkg/optlib/obstack.c,v retrieving revision 1.1 diff -u -r1.1 obstack.c --- optlib/obstack.c 14 Jan 2001 20:30:46 -0000 1.1 +++ optlib/obstack.c 3 Sep 2002 17:21:36 -0000 @@ -397,14 +397,14 @@ h->maybe_empty_object = 1; } if (lp) - { - h->object_base = h->next_free = (char *) (obj); - h->chunk_limit = lp->limit; - h->chunk = lp; - } + h->chunk_limit = lp->limit; else if (obj != 0) /* obj is not in any of the chunks! */ abort (); + else + h->chunk_limit = 0; + h->object_base = h->next_free = (char *) (obj); + h->chunk = lp; } /* This function is used from ANSI code. */ @@ -431,14 +431,14 @@ h->maybe_empty_object = 1; } if (lp) - { - h->object_base = h->next_free = (char *) (obj); - h->chunk_limit = lp->limit; - h->chunk = lp; - } + h->chunk_limit = lp->limit; else if (obj != 0) /* obj is not in any of the chunks! */ abort (); + else + h->chunk_limit = 0; + h->object_base = h->next_free = (char *) (obj); + h->chunk = lp; } int -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]