aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/go/llvm/transforms_instrumentation.go
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/go/llvm/transforms_instrumentation.go')
-rw-r--r--bindings/go/llvm/transforms_instrumentation.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/bindings/go/llvm/transforms_instrumentation.go b/bindings/go/llvm/transforms_instrumentation.go
index 9b191b2..73e2732 100644
--- a/bindings/go/llvm/transforms_instrumentation.go
+++ b/bindings/go/llvm/transforms_instrumentation.go
@@ -36,8 +36,11 @@ func (pm PassManager) AddMemorySanitizerPass() {
C.LLVMAddMemorySanitizerPass(pm.C)
}
-func (pm PassManager) AddDataFlowSanitizerPass(abilist string) {
- cabilist := C.CString(abilist)
- defer C.free(unsafe.Pointer(cabilist))
- C.LLVMAddDataFlowSanitizerPass(pm.C, cabilist)
+func (pm PassManager) AddDataFlowSanitizerPass(abilist []string) {
+ abiliststrs := make([]*C.char, len(abilist))
+ for i, arg := range abilist {
+ abiliststrs[i] = C.CString(arg)
+ defer C.free(unsafe.Pointer(abiliststrs[i]))
+ }
+ C.LLVMAddDataFlowSanitizerPass(pm.C, C.int(len(abilist)), &abiliststrs[0])
}