mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
check for memory exhaustion
hash_initialize returns NULL when out of memory. Check for it, and die cleanly instead of crashing. Reported by 江 祖铭 (Zu-Ming Jiang). https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00015.html * src/muscle-tab.c, src/state.c, src/symtab.c, src/uniqstr.c: Check the value returned by hash_initialize.
This commit is contained in:
1
THANKS
1
THANKS
@@ -199,6 +199,7 @@ Wwp subscript@free.fr
|
||||
xolodho xolodho@gmail.com
|
||||
Zack Weinberg zack@codesourcery.com
|
||||
長田偉伸 cbh34680@iret.co.jp
|
||||
江 祖铭 jjzuming@outlook.com
|
||||
|
||||
Many people are not named here because we lost track of them. We
|
||||
thank them! Please, help us keeping this list up to date.
|
||||
|
||||
@@ -128,6 +128,8 @@ muscle_init (void)
|
||||
|
||||
muscle_table = hash_initialize (HT_INITIAL_CAPACITY, NULL, hash_muscle,
|
||||
hash_compare_muscles, muscle_entry_free);
|
||||
if (!muscle_table)
|
||||
xalloc_die ();
|
||||
|
||||
/* Version and input file. */
|
||||
MUSCLE_INSERT_STRING ("version", VERSION);
|
||||
|
||||
@@ -364,6 +364,8 @@ state_hash_new (void)
|
||||
state_hasher,
|
||||
state_comparator,
|
||||
NULL);
|
||||
if (!state_table)
|
||||
xalloc_die ();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -778,11 +778,15 @@ symbols_new (void)
|
||||
hash_symbol_hasher,
|
||||
hash_symbol_comparator,
|
||||
symbol_free);
|
||||
if (!symbol_table)
|
||||
xalloc_die ();
|
||||
semantic_type_table = hash_initialize (HT_INITIAL_CAPACITY,
|
||||
NULL,
|
||||
hash_semantic_type_hasher,
|
||||
hash_semantic_type_comparator,
|
||||
free);
|
||||
if (!semantic_type_table)
|
||||
xalloc_die ();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -162,6 +162,8 @@ uniqstrs_new (void)
|
||||
hash_uniqstr,
|
||||
hash_compare_uniqstr,
|
||||
free);
|
||||
if (!uniqstrs_table)
|
||||
xalloc_die ();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user