diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c index 0e3b9acd35..2c0c1bfc08 100644 --- a/xen/common/rangeset.c +++ b/xen/common/rangeset.c @@ -239,9 +239,10 @@ int rangeset_remove_range( destroy_range(r, t); } - x->s = e + 1; - if ( x->s > x->e ) + if ( x->e <= e ) destroy_range(r, x); + else + x->s = e + 1; } out: