From e5c636c1d7ed5974f4cc11d22a4bf2e097a57137 Mon Sep 17 00:00:00 2001 From: Anoop C S Date: Thu, 7 May 2026 11:52:01 +0530 Subject: [PATCH] cephfs: free C.CString allocations in OpenSnapDiff Co-Authored-by: chaoliang yan (lawrence3699) Signed-off-by: Anoop C S --- cephfs/snap_diff.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/cephfs/snap_diff.go b/cephfs/snap_diff.go index 545dabb41..0f9608ee6 100644 --- a/cephfs/snap_diff.go +++ b/cephfs/snap_diff.go @@ -147,13 +147,22 @@ func OpenSnapDiff(config SnapDiffConfig) (*SnapDiffInfo, error) { rawCephSnapDiffInfo := &C._ceph_snapdiff_info{} + cRootPath := C.CString(config.RootPath) + defer C.free(unsafe.Pointer(cRootPath)) + cRelPath := C.CString(config.RelPath) + defer C.free(unsafe.Pointer(cRelPath)) + cSnap1 := C.CString(config.Snap1) + defer C.free(unsafe.Pointer(cSnap1)) + cSnap2 := C.CString(config.Snap2) + defer C.free(unsafe.Pointer(cSnap2)) + ret := C.open_snapdiff_dlsym( cephOpenSnapDiff, config.CMount.mount, - C.CString(config.RootPath), - C.CString(config.RelPath), - C.CString(config.Snap1), - C.CString(config.Snap2), + cRootPath, + cRelPath, + cSnap1, + cSnap2, rawCephSnapDiffInfo) if ret != 0 {