fix: add strings terminators

This commit is contained in:
samsonium
2026-11-06 12:02:37 +03:00
parent d95ff88b66
commit 376e7bd1b4
12 changed files with 198 additions and 37 deletions
+25 -2
View File
@@ -35,8 +35,12 @@ fzl_vm_reader_t *fzl_vm_mkreader(char *filepath)
void wr_validation_err(char *section)
{
snprintf(reader_err, sizeof(reader_err),
"init error - section '%s' is not valid", section);
if (internal_error[0])
snprintf(reader_err, sizeof(reader_err), "init error - section '%s': %s",
section, internal_error);
else
snprintf(reader_err, sizeof(reader_err),
"init error - section '%s' is not valid", section);
}
bool fzl_vm_read(fzl_vm_reader_t *reader)
@@ -137,7 +141,26 @@ void fzl_vm_freereader(fzl_vm_reader_t *reader)
free(reader->extern_libs);
if (reader->extern_types)
{
for (uint16_t i = 0; i < reader->extern_types_count; i++)
{
free(reader->extern_types[i].name);
if (reader->extern_types[i].kind == FZL_EXTERN_KIND_STRUCT)
{
fzl_extern_struct_field_t *fields =
reader->extern_types[i].structure.fields;
for (uint16_t j = 0; j < reader->extern_types[i].structure.fields_count;
j++)
{
if (fields[j].name)
free(fields[j].name);
}
}
}
free(reader->extern_types);
}
if (reader->extern_fns)
free(reader->extern_fns);