diff --git a/elf_ops.h b/elf_ops.h index 699651c9e..15928cbb5 100644 --- a/elf_ops.h +++ b/elf_ops.h @@ -67,7 +67,7 @@ static int glue(symfind, SZ)(const void *s0, const void *s1) int result = 0; if (key->st_value < sym->st_value) { result = -1; - } else if (key->st_value > sym->st_value + sym->st_size) { + } else if (key->st_value >= sym->st_value + sym->st_size) { result = 1; } return result; diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a38167d33..4f04b9828 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1199,7 +1199,7 @@ static int symfind(const void *s0, const void *s1) int result = 0; if (key->st_value < sym->st_value) { result = -1; - } else if (key->st_value > sym->st_value + sym->st_size) { + } else if (key->st_value >= sym->st_value + sym->st_size) { result = 1; } return result;