From a1a8c94577dde1ba63badc32e5564470b136c33d Mon Sep 17 00:00:00 2001 From: Martin Stjernholm <mast@lysator.liu.se> Date: Sun, 3 Sep 2000 01:11:27 +0200 Subject: [PATCH] Added dmalloc_is_invalid_memory_block, as per hubbes instructions. Rev: src/dmalloc.h:1.27 Rev: src/pike_memory.c:1.81 --- src/dmalloc.h | 3 ++- src/pike_memory.c | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/dmalloc.h b/src/dmalloc.h index 28ff3a42c5..db1b8f6804 100644 --- a/src/dmalloc.h +++ b/src/dmalloc.h @@ -1,5 +1,5 @@ /* - * $Id: dmalloc.h,v 1.26 2000/08/04 01:32:39 hubbe Exp $ + * $Id: dmalloc.h,v 1.27 2000/09/02 23:11:27 mast Exp $ */ extern char *debug_xalloc(size_t); @@ -80,6 +80,7 @@ void dmalloc_add_mmap_entry(struct memory_map *m, int count, struct memory_map *recur, int recur_offset); +int dmalloc_is_invalid_memory_block(void *block); #else diff --git a/src/pike_memory.c b/src/pike_memory.c index 96608188a5..acb722b8fe 100644 --- a/src/pike_memory.c +++ b/src/pike_memory.c @@ -10,7 +10,7 @@ #include "pike_macros.h" #include "gc.h" -RCSID("$Id: pike_memory.c,v 1.80 2000/08/16 15:51:20 grubba Exp $"); +RCSID("$Id: pike_memory.c,v 1.81 2000/09/02 23:11:27 mast Exp $"); /* strdup() is used by several modules, so let's provide it */ #ifndef HAVE_STRDUP @@ -2245,4 +2245,12 @@ void dmalloc_add_mmap_entry(struct memory_map *m, mt_unlock(&debug_malloc_mutex); } +int dmalloc_is_invalid_memory_block(void *block) +{ + struct memhdr *mh=my_find_memhdr(block,0); + if(!mh) return -1; /* no such known block */ + if(mh->size < 0) return -2; /* block has been freed */ + return 0; /* block is valid */ +} + #endif -- GitLab