From 5e5009f839875220d5dec7abdf5cf53d919f4d42 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 24 Jan 2011 11:05:18 +0100 Subject: [PATCH] vma-iter: Avoid empty intervals. * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback on an empty interval. --- ChangeLog | 6 ++++++ lib/vma-iter.c | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bea7d1e5c..ab1ad1e7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-01-24 Bruno Haible + + vma-iter: Avoid empty intervals. + * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback + on an empty interval. + 2011-01-24 Jim Meyering u64: remove unnecessary #include diff --git a/lib/vma-iter.c b/lib/vma-iter.c index 251ef7554..8ef865de7 100644 --- a/lib/vma-iter.c +++ b/lib/vma-iter.c @@ -331,10 +331,12 @@ vma_iterate (vma_iterate_callback_fn callback, void *data) { /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] = [start,auxmap_start-1] u [auxmap_end,end-1]. */ - if (callback (data, start, auxmap_start, flags)) - break; - if (callback (data, auxmap_end, end, flags)) - break; + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; } else { -- 2.11.0