From 3ad8a39ca1f04a3b630ba0321346cca2a238629d Mon Sep 17 00:00:00 2001 From: Anton Baliasnikov Date: Wed, 19 Jun 2024 16:32:30 +0100 Subject: [PATCH] Fix memory leak caused by LLVMVerifyModule function call --- src/module.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/module.rs b/src/module.rs index 94e9f80053a..5a137e97e6a 100644 --- a/src/module.rs +++ b/src/module.rs @@ -12,7 +12,7 @@ use llvm_sys::core::{ LLVMDisposeModule, LLVMDumpModule, LLVMGetFirstFunction, LLVMGetFirstGlobal, LLVMGetLastFunction, LLVMGetLastGlobal, LLVMGetModuleContext, LLVMGetModuleIdentifier, LLVMGetNamedFunction, LLVMGetNamedGlobal, LLVMGetNamedMetadataNumOperands, LLVMGetNamedMetadataOperands, LLVMGetTarget, LLVMPrintModuleToFile, - LLVMPrintModuleToString, LLVMSetDataLayout, LLVMSetModuleIdentifier, LLVMSetTarget, + LLVMPrintModuleToString, LLVMSetDataLayout, LLVMSetModuleIdentifier, LLVMSetTarget, LLVMDisposeMessage }; #[llvm_versions(7..)] use llvm_sys::core::{LLVMAddModuleFlag, LLVMGetModuleFlag}; @@ -740,6 +740,8 @@ impl<'ctx> Module<'ctx> { return unsafe { Err(LLVMString::new(err_str)) }; } + unsafe { LLVMDisposeMessage(err_str) }; + Ok(()) }