[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] tools/libs/light: correct bitmap operations
commit 4196b1523aebe0ed929accba318d5e833d7ff6b3 Author: Juergen Gross <jgross@xxxxxxxx> AuthorDate: Fri Nov 6 15:05:04 2020 +0100 Commit: Wei Liu <wl@xxxxxxx> CommitDate: Fri Nov 6 16:03:33 2020 +0000 tools/libs/light: correct bitmap operations Libxl bitmap operations for single bits (test, set, reset) take the bit number as a signed integer without testing the value to be larger than 0. Correct that by adding the appropriate tests. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Wei Liu <wl@xxxxxxx> --- tools/libs/light/libxl_utils.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/libs/light/libxl_utils.c b/tools/libs/light/libxl_utils.c index b039143b8a..4699c4a0a3 100644 --- a/tools/libs/light/libxl_utils.c +++ b/tools/libs/light/libxl_utils.c @@ -688,21 +688,21 @@ int libxl_bitmap_is_empty(const libxl_bitmap *bitmap) int libxl_bitmap_test(const libxl_bitmap *bitmap, int bit) { - if (bit >= bitmap->size * 8) + if (bit >= bitmap->size * 8 || bit < 0) return 0; return (bitmap->map[bit / 8] & (1 << (bit & 7))) ? 1 : 0; } void libxl_bitmap_set(libxl_bitmap *bitmap, int bit) { - if (bit >= bitmap->size * 8) + if (bit >= bitmap->size * 8 || bit < 0) return; bitmap->map[bit / 8] |= 1 << (bit & 7); } void libxl_bitmap_reset(libxl_bitmap *bitmap, int bit) { - if (bit >= bitmap->size * 8) + if (bit >= bitmap->size * 8 || bit < 0) return; bitmap->map[bit / 8] &= ~(1 << (bit & 7)); } -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |