[ORC][examples] Fix off-by-one error when handling null terminators.
authorLang Hames <lhames@gmail.com>
Sat, 21 May 2022 00:31:31 +0000 (17:31 -0700)
committerLang Hames <lhames@gmail.com>
Sat, 21 May 2022 02:33:49 +0000 (19:33 -0700)
LLVMCreateMemoryBufferWithMemoryRange checks for a null terminator after the
given range, so we need to pass the length of the module string (excluding the
null terminator).

llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/OrcV2CBindingsLazy.c

index 0f4f979..fd90671 100644 (file)
@@ -127,8 +127,8 @@ int main(int argc, char *argv[]) {
     LLVMErrorRef Err;
 
     LLVMOrcThreadSafeModuleRef FooTSM;
-    if ((Err =
-             parseExampleModule(FooMod, sizeof(FooMod), "foo-mod", &FooTSM))) {
+    if ((Err = parseExampleModule(FooMod, sizeof(FooMod) - 1, "foo-mod",
+                                  &FooTSM))) {
       MainResult = handleError(Err);
       goto jit_cleanup;
     }
@@ -142,8 +142,8 @@ int main(int argc, char *argv[]) {
     }
 
     LLVMOrcThreadSafeModuleRef BarTSM;
-    if ((Err =
-             parseExampleModule(BarMod, sizeof(BarMod), "bar-mod", &BarTSM))) {
+    if ((Err = parseExampleModule(BarMod, sizeof(BarMod) - 1, "bar-mod",
+                                  &BarTSM))) {
       MainResult = handleError(Err);
       goto jit_cleanup;
     }
@@ -155,7 +155,7 @@ int main(int argc, char *argv[]) {
     }
 
     LLVMOrcThreadSafeModuleRef MainTSM;
-    if ((Err = parseExampleModule(MainMod, sizeof(MainMod), "main-mod",
+    if ((Err = parseExampleModule(MainMod, sizeof(MainMod) - 1, "main-mod",
                                   &MainTSM))) {
       MainResult = handleError(Err);
       goto jit_cleanup;