From: Jack Lange Date: Tue, 10 Jan 2012 18:16:25 +0000 (-0500) Subject: bug fix to check for illegal memory ranges X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=3040cb0b3c89d04aab4a6e229dcf4d2223a45295;p=palacios.git bug fix to check for illegal memory ranges --- diff --git a/palacios/src/palacios/vmm_mem.c b/palacios/src/palacios/vmm_mem.c index dd262c0..3753a93 100644 --- a/palacios/src/palacios/vmm_mem.c +++ b/palacios/src/palacios/vmm_mem.c @@ -117,8 +117,14 @@ void v3_delete_mem_map(struct v3_vm_info * vm) { struct v3_mem_region * v3_create_mem_region(struct v3_vm_info * vm, uint16_t core_id, addr_t guest_addr_start, addr_t guest_addr_end) { - - struct v3_mem_region * entry = (struct v3_mem_region *)V3_Malloc(sizeof(struct v3_mem_region)); + struct v3_mem_region * entry = NULL; + + if (guest_addr_start >= guest_addr_end) { + PrintError("Region start is after region end\n"); + return NULL; + } + + entry = (struct v3_mem_region *)V3_Malloc(sizeof(struct v3_mem_region)); memset(entry, 0, sizeof(struct v3_mem_region)); entry->guest_start = guest_addr_start;