Add a basic sanity check on pointers passed to free(9).

Should be improved by:	jeff
This commit is contained in:
Poul-Henning Kamp 2002-04-23 18:50:25 +00:00
parent da85c82b2a
commit 708da94ef2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=95319

View File

@ -143,6 +143,10 @@ malloc(size, type, flags)
uma_zone_t zone;
register struct malloc_type *ksp = type;
#if 0
if (size == 0)
Debugger("zero size malloc");
#endif
#if defined(INVARIANTS)
if (flags == M_WAITOK)
KASSERT(curthread->td_intr_nesting_level == 0,
@ -203,6 +207,12 @@ free(addr, type)
if (addr == NULL)
return;
if ((u_long)addr & 3) { /* XXX: Jeff: find better value for 3 */
printf("free(9)'ing unaligned pointer %p\n", addr);
Debugger("Don't do that...");
return;
}
size = 0;
mem = (void *)((u_long)addr & (~UMA_SLAB_MASK));