diff --git a/sys/kern/kern_slaballoc.c b/sys/kern/kern_slaballoc.c --- a/sys/kern/kern_slaballoc.c +++ b/sys/kern/kern_slaballoc.c @@ -1199,7 +1199,7 @@ */ kup = btokup(ptr); if (*kup > 0) { - osize = *kup << PAGE_SHIFT; + osize = (size_t)*kup << PAGE_SHIFT; if (osize == round_page(size)) return(ptr); if ((nptr = _kmalloc_debug(size, type, flags, file, line)) == NULL) @@ -1258,7 +1258,7 @@ */ kup = btokup(ptr); if (*kup > 0) { - size = *kup << PAGE_SHIFT; + size = (size_t)*kup << PAGE_SHIFT; return size; } @@ -1429,7 +1429,7 @@ */ kup = btokup(ptr); if (*kup > 0) { - size = *kup << PAGE_SHIFT; + size = (size_t)*kup << PAGE_SHIFT; *kup = 0; #ifdef INVARIANTS if (use_weird_array) {