From dc52d92824439f5259fd24d476ad7ba5e043dd4e Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Thu, 1 Dec 2011 18:20:12 +0000 Subject: libxc: Fix checks on grant notify arguments The notify offset and event channels are both unsigned variables, so testing for >= 0 will not correctly detect the use of -1 to indicate the field is unused. Remove the useless comparison and replace with correct range checks or comparisons to -1. Reported-by: Anil Madhavapeddy Signed-off-by: Daniel De Graaf Committed-by: Ian Jackson --- tools/libxc/xc_linux_osdep.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools/libxc') diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.c index 0da20091db..115203ddb4 100644 --- a/tools/libxc/xc_linux_osdep.c +++ b/tools/libxc/xc_linux_osdep.c @@ -566,7 +566,7 @@ static void *linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h, struct ioctl_gntdev_unmap_notify notify; notify.index = map->index; notify.action = 0; - if (notify_offset >= 0 && notify_offset < XC_PAGE_SIZE * count) { + if (notify_offset < XC_PAGE_SIZE * count) { notify.index += notify_offset; notify.action |= UNMAP_NOTIFY_CLEAR_BYTE; } @@ -708,11 +708,11 @@ static void *linux_gntshr_share_pages(xc_gntshr *xch, xc_osdep_handle h, notify.index = gref_info->index; notify.action = 0; - if (notify_offset >= 0) { + if (notify_offset < XC_PAGE_SIZE * count) { notify.index += notify_offset; notify.action |= UNMAP_NOTIFY_CLEAR_BYTE; } - if (notify_port >= 0) { + if (notify_port != -1) { notify.event_channel_port = notify_port; notify.action |= UNMAP_NOTIFY_SEND_EVENT; } -- cgit v1.2.3