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 <anil@recoil.org>
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
Daniel De Graaf committed 2011-12-01 18:20:12 +00:00
1 parent 06be13898b
commit dc52d92824
1 file changed
+3 -3
+3 -3
View File
@@ -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;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.