From 3385408d6b769fd58433bf1782e29ec56524c25f Mon Sep 17 00:00:00 2001 From: Martin Bickel <martin.bickel@continental-corporation.com> Date: Sat, 4 Mar 2017 22:57:38 +0100 Subject: [PATCH] Rephrase condition of is_sect_in_seg() to make it more intuitive --- elfio/elfio.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/elfio/elfio.hpp b/elfio/elfio.hpp index 89ce3e9..217f97d 100644 --- a/elfio/elfio.hpp +++ b/elfio/elfio.hpp @@ -426,11 +426,11 @@ class elfio //! It doesn't matter if the addresses are memory addresses, or file offsets, //! they just need to be in the same address space bool is_sect_in_seg ( Elf64_Off sect_begin, Elf_Xword sect_size, Elf64_Off seg_begin, Elf64_Off seg_end ) { - if ( sect_size > 0 ) { - return seg_begin <= sect_begin && sect_begin + sect_size <= seg_end; - } else { - return seg_begin <= sect_begin && sect_begin < seg_end; - } + return seg_begin <= sect_begin + && sect_begin + sect_size <= seg_end + && sect_begin < seg_end; // this is important criteria when sect_size == 0 + // Example: seg_begin=10, seg_end=12 (-> covering the bytes 10 and 11) + // sect_begin=12, sect_size=0 -> shall return false! } //------------------------------------------------------------------------------ -- GitLab