don't leak mem

This commit is contained in:
saces 2026-01-18 23:35:07 +01:00
parent f8714be406
commit 4a8ed01127
8 changed files with 16 additions and 0 deletions

View file

@ -5,10 +5,19 @@ package main
import (
"fmt"
"mxclientlib/mxclient"
"unsafe"
)
/*
#include <stdlib.h>
*/
import "C"
//export FreeCString
func FreeCString(s *C.char) {
C.free(unsafe.Pointer(s))
}
/*
cli tools
*/

View file

@ -13,6 +13,7 @@ ffibuilder.set_source(
ffibuilder.cdef(
csource="""
extern void FreeCString(char * s);
extern char* cli_discoverhs(char* mxid);
extern char* cli_mkmxtoken(char* mxid, char* pw);
extern char* cli_whoami(char* hs, char* accessToken);

View file

@ -12,4 +12,5 @@ def accountinfo():
r = lib.cli_accountinfo(url, tk)
result = ffi.string(r)
lib.FreeCString(r)
print(result)

View file

@ -12,4 +12,5 @@ def clearaccount():
r = lib.cli_clearaccount(url, tk)
result = ffi.string(r)
lib.FreeCString(r)
print(result)

View file

@ -13,4 +13,5 @@ def discoverhs():
r = lib.cli_discoverhs(mxid)
result = ffi.string(r)
lib.FreeCString(r)
print(result)

View file

@ -12,4 +12,5 @@ def mktoken():
r = lib.cli_mkmxtoken(mxid, pw)
result = ffi.string(r)
lib.FreeCString(r)
print(result)

View file

@ -11,4 +11,5 @@ def serverinfo():
r = lib.cli_serverinfo(mxdomain)
result = ffi.string(r)
lib.FreeCString(r)
print(result)

View file

@ -12,4 +12,5 @@ def whoami():
r = lib.cli_whoami(url, tk)
result = ffi.string(r)
lib.FreeCString(r)
print(result)