Bug 703087 - (Temporarily) enable release-build assertion in isalloc_validate in release builds, to test for potential ozone_size corruption. r=khuey

This commit is contained in:
Justin Lebar 2011-11-16 17:48:02 -05:00
Родитель 7d4b05b724
Коммит aff2b65cf3
1 изменённых файлов: 13 добавлений и 6 удалений

Просмотреть файл

@ -989,10 +989,10 @@ struct arena_bin_s {
}; };
struct arena_s { struct arena_s {
#ifdef MALLOC_DEBUG /* For bug 703087, we're temporarily adding arena.magic to release
builds. */
uint32_t magic; uint32_t magic;
# define ARENA_MAGIC 0x947d3d24 # define ARENA_MAGIC 0x947d3d24
#endif
/* All operations on this arena require that lock be locked. */ /* All operations on this arena require that lock be locked. */
#ifdef MOZ_MEMORY #ifdef MOZ_MEMORY
@ -4332,7 +4332,15 @@ isalloc_validate(const void *ptr)
return (0); return (0);
if (chunk != ptr) { if (chunk != ptr) {
assert(chunk->arena->magic == ARENA_MAGIC); /* For bug 703087, we've temporarily made what is normally a
debug-only assertion here into a fatal assertion. */
if (chunk->arena->magic != ARENA_MAGIC) {
_malloc_message("isalloc_validate called with invalid pointer. "
"Crashing...\n", "", "", "");
char* boom = (char*) 0;
*boom = 1;
}
return (arena_salloc(ptr)); return (arena_salloc(ptr));
} else { } else {
size_t ret; size_t ret;
@ -4842,10 +4850,9 @@ arena_new(arena_t *arena)
#endif #endif
} }
#ifdef MALLOC_DEBUG /* For bug 703087, we're temporarily adding arena->magic for release
builds. */
arena->magic = ARENA_MAGIC; arena->magic = ARENA_MAGIC;
#endif
return (false); return (false);
} }