From: Florian Krohm Date: Tue, 5 May 2015 06:14:10 +0000 (+0000) Subject: Simplify. The condition on line 1223 is always true. X-Git-Tag: svn/VALGRIND_3_11_0~428 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fa0d7aa5c65106f15f0e226ef8719456ba8034de;p=thirdparty%2Fvalgrind.git 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 --- 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)