X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_mem.c;h=3753a932c479e4336bf5216d3a8b745ff9661570;hb=91a4db3c4b06db6a44aa0daeaab750df666d5d79;hp=dd262c0d02c75d1b20d753e5de0654fd4eb76d52;hpb=cfd5e43722796b4951faf721c64f3a74ab81ff2b;p=palacios.git 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;