diff options
author | Chris Hall <GMCH@hestia.halldom.com> | 2010-04-28 18:51:53 +0100 |
---|---|---|
committer | Chris Hall <GMCH@hestia.halldom.com> | 2010-04-28 18:51:53 +0100 |
commit | e310717c85410af6caa29b7819c8c988cc149eb6 (patch) | |
tree | 0f1d643e51bd62b6d222f66f536ae01d2a00f4b5 /lib/mem_tracker.c | |
parent | 4876784d99d81f66b07f9806ef5660d6cc229e58 (diff) | |
download | quagga-e310717c85410af6caa29b7819c8c988cc149eb6.tar.bz2 quagga-e310717c85410af6caa29b7819c8c988cc149eb6.tar.xz |
Trap NULL returns from calloc() in mem_tracker
The lib/mem_tracker.c allocates memory for its tracking tables,
and now checks that has not run out of memory -- so that stops
immediately rather than shortly after in an odd way.
Diffstat (limited to 'lib/mem_tracker.c')
-rw-r--r-- | lib/mem_tracker.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/mem_tracker.c b/lib/mem_tracker.c index fa967476..b468ad2a 100644 --- a/lib/mem_tracker.c +++ b/lib/mem_tracker.c @@ -162,6 +162,8 @@ mem_md_make_bases(void) mem_base_count |= 1 ; mem_bases = calloc(mem_base_count, sizeof(md_index)) ; + passert(mem_bases != NULL) ; + if (bases_was == NULL) passert(count_was == 0) ; else @@ -205,6 +207,8 @@ mem_md_make_descriptors(void) = mem_page_table[(mdi >> md_i_index_bits) & md_page_mask] = calloc(md_i_index_count, sizeof(struct mem_descriptor)) ; + passert(mem_free_descriptors != NULL) ; + mem_next_index += md_i_index_count ; if (mdi == 0) |