[llvm-dev] [PATCH 2/2] Object/WasmObjectFile: Fix comparison of different signs
Mauro Rossi via llvm-dev
llvm-dev at lists.llvm.org
Sun Jun 10 06:34:13 PDT 2018
Fixes the following building error:
external/llvm/lib/Object/WasmObjectFile.cpp:978:14:
error: comparison of integers of different signs:
'uint32_t' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
if (Size > Ctx.End - Ctx.Ptr)
~~~~ ^ ~~~~~~~~~~~~~~~~~
1 error generated.
Fixes: 50617cfe72 ("[WebAssembly] Add more error checking to object file parsing")
---
lib/Object/WasmObjectFile.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Object/WasmObjectFile.cpp b/lib/Object/WasmObjectFile.cpp
index 2f91a973dda..ba5e6ac4cb3 100644
--- a/lib/Object/WasmObjectFile.cpp
+++ b/lib/Object/WasmObjectFile.cpp
@@ -975,7 +975,7 @@ Error WasmObjectFile::parseDataSection(ReadContext &Ctx) {
if (Error Err = readInitExpr(Segment.Data.Offset, Ctx))
return Err;
uint32_t Size = readVaruint32(Ctx);
- if (Size > Ctx.End - Ctx.Ptr)
+ if (Size > (uint32_t) (Ctx.End - Ctx.Ptr))
return make_error<GenericBinaryError>("Invalid segment size",
object_error::parse_failed);
Segment.Data.Content = ArrayRef<uint8_t>(Ctx.Ptr, Size);
--
2.17.1
More information about the llvm-dev
mailing list