cppinit.c (cpp_cleanup): NULLify macro_buffer and zero macro_buffer_len.

* cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
macro_buffer_len.
* cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
realloc()ing macro_buffer.

From-SVN: r38821
This commit is contained in:
Alexandre Oliva 2001-01-09 09:30:43 +00:00 committed by Alexandre Oliva
parent bad48d7ebd
commit 4b49c3657f
3 changed files with 15 additions and 3 deletions

View File

@ -1,5 +1,10 @@
2001-01-09 Alexandre Oliva <aoliva@redhat.com>
* cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
macro_buffer_len.
* cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
realloc()ing macro_buffer.
* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
if it's wider than long and the target's long is wider than the
host's.

View File

@ -570,7 +570,11 @@ cpp_cleanup (pfile)
cpp_pop_buffer (pfile);
if (pfile->macro_buffer)
free ((PTR) pfile->macro_buffer);
{
free ((PTR) pfile->macro_buffer);
pfile->macro_buffer = NULL;
pfile->macro_buffer_len = 0;
}
deps_free (pfile->deps);

View File

@ -1,6 +1,6 @@
/* Part of CPP library. (Macro and #define handling.)
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
1999, 2000 Free Software Foundation, Inc.
1999, 2000, 2001 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@ -1568,7 +1568,10 @@ cpp_macro_definition (pfile, node)
}
if (len > pfile->macro_buffer_len)
pfile->macro_buffer = (U_CHAR *) xrealloc (pfile->macro_buffer, len);
{
pfile->macro_buffer = (U_CHAR *) xrealloc (pfile->macro_buffer, len);
pfile->macro_buffer_len = len;
}
buffer = pfile->macro_buffer;
/* Parameter names. */