From fa0d7aa5c65106f15f0e226ef8719456ba8034de Mon Sep 17 00:00:00 2001 From: Florian Krohm Date: Tue, 5 May 2015 06:14:10 +0000 Subject: [PATCH] Simplify. The condition on line 1223 is always true. Here's why: The condition if (VG_(brk_limit) > VG_(brk_base)) line 1223 is reachable iff newbrk < VG_(brk_base) on line 1201 is false AND newbrk < VG_(brk_limit) on line 1205 is true Rewrite as newbrk >= VG_(brk_base) is true AND newbrk < VG_(brk_limit) is true Rewrite as newbrk >= VG_(brk_base) is true AND newbrk <= VG_(brk_limit) - 1 is true Combine VG_(brk_base) <= newbrk <= VG_(brk_limit) - 1 Therefore VG_(brk_base) <= VG_(brk_limit) - 1 Or VG_(brk_base) < VG_(brk_limit) Which is the same as VG_(brk_limit) > VG_(brk_base) qed. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15181 --- coregrind/m_syswrap/syswrap-generic.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 1d4ae61e7d..a28e50a935 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -1220,10 +1220,7 @@ static Addr do_brk ( Addr newbrk, ThreadId tid ) and that segment is writable. */ NSegment const * seg2; - if (VG_(brk_limit) > VG_(brk_base)) - seg2 = VG_(am_find_nsegment)( VG_(brk_limit)-1 ); - else - seg2 = VG_(am_find_nsegment)( VG_(brk_limit) ); + seg2 = VG_(am_find_nsegment)( VG_(brk_limit) - 1 ); vg_assert(seg2); if (seg == seg2 && seg->hasW) -- 2.47.3