From e789b212d3ff9b594749da426b51e20a0b3995a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Tue, 11 Nov 2014 20:11:06 +0100 Subject: [PATCH] Build: Fixed some warnings about freeing static memory. --- src/mapping.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/mapping.c b/src/mapping.c index 3fe2f43aab..dcf35696db 100644 --- a/src/mapping.c +++ b/src/mapping.c @@ -278,7 +278,23 @@ PMOD_EXPORT void really_free_mapping_data(struct mapping_data *md) #ifdef PIKE_DEBUG if (md->refs) { Pike_fatal("really_free_mapping_data(): md has non-zero refs: %d\n", - md->refs); + md->refs); + } + + if (!md->size) { + /* Paranoia and keep gcc happy. */ + if (md == &empty_data) { + Pike_fatal("really_free_mapping_data(): md is empty_data!\n"); + } + if (md == &weak_ind_empty_data) { + Pike_fatal("really_free_mapping_data(): md is weak_ind_empty_data!\n"); + } + if (md == &weak_val_empty_data) { + Pike_fatal("really_free_mapping_data(): md is weak_val_empty_data!\n"); + } + if (md == &weak_both_empty_data) { + Pike_fatal("really_free_mapping_data(): md is weak_both_empty_data!\n"); + } } #endif /* PIKE_DEBUG */ -- GitLab