fix: missing freeing and type (in CIF prepare)

This commit is contained in:
samsonium
2026-11-08 18:46:21 +03:00
parent d09b4f2761
commit 0fc6406e97
3 changed files with 11 additions and 1 deletions
+6
View File
@@ -45,6 +45,12 @@ ffi_type *resolve_type(fzl_vm_reader_t *reader, fzl_extern_type_ref_t *ref)
case FZL_TYPE_UINT64:
return &ffi_type_uint64;
case FZL_TYPE_INT:
return &ffi_type_sint;
case FZL_TYPE_UINT:
return &ffi_type_uint;
case FZL_TYPE_CHAR:
return &ffi_type_schar;
+4
View File
@@ -145,7 +145,11 @@ int main(int argc, char **argv)
if (!vm->prep_fns)
{
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_vm_externs_geterror());
free(args);
fzl_vm_free_externs(vm->prep_fns);
fzl_vm_freereader(reader);
fzl_freevm(vm);
return -1;
}
+1 -1
View File
@@ -1,4 +1,4 @@
extern "math" {
extern "libmath" {
fn double_num(int num) int;
}