зеркало из https://github.com/mozilla/pjs.git
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:
Родитель
7d4b05b724
Коммит
aff2b65cf3
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче