[edk2-devel] [PATCH] BaseTools/GenFw: Fix casting result of comparison
Tim Crawford
crawfxrd at gmail.com
Fri Mar 26 00:48:27 UTC 2021
The cast in IsDataShdr() is only applied the left side, causing it to
always return FALSE.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3271
Signed-off-by: Tim Crawford <tcrawford at system76.com>
---
BaseTools/Source/C/GenFw/Elf32Convert.c | 2 +-
BaseTools/Source/C/GenFw/Elf64Convert.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/GenFw/Elf32Convert.c
index 7f351287a9..df54991768 100644
--- a/BaseTools/Source/C/GenFw/Elf32Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf32Convert.c
@@ -262,7 +262,7 @@ IsDataShdr (
if (IsHiiRsrcShdr(Shdr)) {
return FALSE;
}
- return (BOOLEAN) (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE);
+ return (BOOLEAN) ((Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE));
}
STATIC
diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c
index 4ed6b4477e..1bf1e9accb 100644
--- a/BaseTools/Source/C/GenFw/Elf64Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf64Convert.c
@@ -270,7 +270,7 @@ IsDataShdr (
if (IsHiiRsrcShdr(Shdr)) {
return FALSE;
}
- return (BOOLEAN) (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE);
+ return (BOOLEAN) ((Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE));
}
STATIC
--
2.30.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#73394): https://edk2.groups.io/g/devel/message/73394
Mute This Topic: https://groups.io/mt/81630142/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list