From 7aa475db4ce168401167dc2ffed6221493ae2db4 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Tue, 20 Nov 2012 23:17:12 +0000 Subject: Fix calls to vm_map when size is 0 * vm/vm_map.c (vm_map_enter): return KERN_INVALID_ARGUMENT if size is 0. * vm/vm_user.c (vm_map): Likewise. --- vm/vm_map.c | 3 +++ vm/vm_user.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/vm/vm_map.c b/vm/vm_map.c index c46afc0..22fa836 100644 --- a/vm/vm_map.c +++ b/vm/vm_map.c @@ -784,6 +784,9 @@ kern_return_t vm_map_enter( #define RETURN(value) { result = value; goto BailOut; } + if (size == 0) + return KERN_INVALID_ARGUMENT; + StartAgain: ; start = *address; diff --git a/vm/vm_user.c b/vm/vm_user.c index a8ce982..6fe398e 100644 --- a/vm/vm_user.c +++ b/vm/vm_user.c @@ -342,6 +342,9 @@ kern_return_t vm_map( return(KERN_INVALID_ARGUMENT); } + if (size == 0) + return KERN_INVALID_ARGUMENT; + *address = trunc_page(*address); size = round_page(size); -- cgit v1.2.3