Don't initialize to zero, rather move the initialization of size before the break statement. Break on the first iteration should never happen, so the position of initialization doesn't matter.
* ipc/mach_debug.c (host_ipc_hash_info) (size): Don't initialize to zero. (host_ipc_hash_info) (size): Move initialization before the break statement. --- ipc/mach_debug.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ipc/mach_debug.c b/ipc/mach_debug.c index dd9057a..d7c454b 100644 --- a/ipc/mach_debug.c +++ b/ipc/mach_debug.c @@ -112,7 +112,7 @@ host_ipc_hash_info( mach_msg_type_number_t *countp) { vm_offset_t addr; - vm_size_t size = 0; /* Suppress gcc warning */ + vm_size_t size; hash_info_bucket_t *info; unsigned int potential, actual; kern_return_t kr; @@ -127,6 +127,9 @@ host_ipc_hash_info( for (;;) { actual = ipc_hash_info(info, potential); + + size = round_page(actual * sizeof *info); + if (actual <= potential) break; @@ -135,7 +138,6 @@ host_ipc_hash_info( if (info != *infop) kmem_free(ipc_kernel_map, addr, size); - size = round_page(actual * sizeof *info); kr = kmem_alloc_pageable(ipc_kernel_map, &addr, size); if (kr != KERN_SUCCESS) return KERN_RESOURCE_SHORTAGE; -- 1.8.1.4