]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
dwarflint: Fix is_overlap for zero-length ranges
authorPetr Machata <pmachata@redhat.com>
Wed, 13 Oct 2010 11:35:56 +0000 (13:35 +0200)
committerPetr Machata <pmachata@redhat.com>
Wed, 13 Oct 2010 11:35:56 +0000 (13:35 +0200)
dwarflint/coverage.cc
dwarflint/test-coverage.cc

index 5da06ee8cbfaf35d9cb5f94e60b625fe3e5e81a9..0722a4c55a435b746f00f8fee68344bd9a088694 100644 (file)
@@ -238,8 +238,10 @@ namespace
 bool
 coverage::is_overlap (uint64_t start, uint64_t length) const
 {
-  if (empty () || length == 0)
+  if (empty ())
     return false;
+  if (length == 0)
+    return is_covered (start, length);
 
   uint64_t a_end = start + length;
   const_iterator r_i = find (start);
index 5ac8bf54dad3e21dee97c61e8d9b44884b19b495..ed9e2c2d5a094e51ee130c8a15c5cd54d6f1f4e1 100644 (file)
@@ -32,6 +32,7 @@ void
 chkcov (coverage const &cov, uint64_t start, uint64_t length)
 {
   assert (cov.is_covered (start, length));
+  assert (cov.is_overlap (start, length));
   for (uint64_t i = start; i < start + length; ++i)
     {
       assert (cov.is_covered (i, 1));