Commit c116bea1 authored by Justin Lebar's avatar Justin Lebar
Browse files

Bug 703087 - (Temporarily) enable assertion in isalloc_validate in release...

Bug 703087 - (Temporarily) enable assertion in isalloc_validate in release builds, to test for potential ozone_size corruption. r=khuey
parent f55ae8b0
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -989,10 +989,10 @@ struct arena_bin_s {
};

struct arena_s {
#ifdef MALLOC_DEBUG
	/* For bug 703087, we're temporarily adding arena.magic to release
	   builds. */
	uint32_t		magic;
#  define ARENA_MAGIC 0x947d3d24
#endif

	/* All operations on this arena require that lock be locked. */
#ifdef MOZ_MEMORY
@@ -4332,7 +4332,15 @@ isalloc_validate(const void *ptr)
		return (0);

	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) {
			char* boom = (char*) 0;
			_malloc_message("isalloc_validate called with invalid pointer. "
			                "Crashing...\n", "", "", "");
			*boom = 1;
		}

		return (arena_salloc(ptr));
	} else {
		size_t ret;
@@ -4842,10 +4850,9 @@ arena_new(arena_t *arena)
#endif
	}

#ifdef MALLOC_DEBUG
        /* For bug 703087, we're temporarily adding arena->magic for release
           builds. */
	arena->magic = ARENA_MAGIC;
#endif

	return (false);
}