fix: sanitizer checks fix (iteration 3 - final)

This commit is contained in:
samsonium
2026-10-19 20:11:48 +03:00
parent 3f2f03f931
commit 1e518c4c82
2 changed files with 30 additions and 2 deletions
+28
View File
@@ -15,9 +15,15 @@ int main(int argc, char **argv)
{
fzl_options_t *opts = fzl_mkoptions(argc, argv);
if (!opts)
{
fzl_freeoptions(opts);
return -1;
}
else if (!opts->should_continue)
{
fzl_freeoptions(opts);
return 0;
}
if (opts->verbose)
printf("%s> analyze\n-> reading file...%s", FZL_CDEBUG, FZL_CRST);
@@ -28,6 +34,8 @@ int main(int argc, char **argv)
char *lasterr = fzl_linked_geterror();
if (lasterr[0])
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, lasterr);
fzl_freeoptions(opts);
fzl_freelinked(linked);
return -1;
}
@@ -38,6 +46,8 @@ int main(int argc, char **argv)
char *lasterr = fzl_linked_geterror();
if (lasterr[0])
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, lasterr);
fzl_freeoptions(opts);
fzl_freelinked(linked);
return -1;
}
@@ -53,6 +63,9 @@ int main(int argc, char **argv)
if (result != 0)
{
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_reader_geterror());
fzl_freeoptions(opts);
fzl_freelinked(linked);
fzl_freereader(rd);
return -1;
}
@@ -87,6 +100,10 @@ int main(int argc, char **argv)
if (result != 0)
{
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_parser_geterror());
fzl_freeoptions(opts);
fzl_freeparser(parser);
fzl_freereader(rd);
fzl_freelinked(linked);
return -1;
}
@@ -103,6 +120,11 @@ int main(int argc, char **argv)
if (result != 0)
{
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_walker_geterror());
fzl_freeoptions(opts);
fzl_freewalker(walker);
fzl_freeparser(parser);
fzl_freereader(rd);
fzl_freelinked(linked);
return -1;
}
@@ -144,6 +166,12 @@ int main(int argc, char **argv)
if (result != 0)
{
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_writer_geterror());
fzl_freeoptions(opts);
fzl_freewriter(writer);
fzl_freewalker(walker);
fzl_freeparser(parser);
fzl_freereader(rd);
fzl_freelinked(linked);
return -1;
}
+2 -2
View File
@@ -193,7 +193,7 @@ void print_object(fzl_vm_object_t *obj)
else if (arg.type == FZL_TYPE_UINT)
printf("uint(%lu)", arg.as.u);
else if (arg.type == FZL_TYPE_BOOL)
printf("bool(%b)", arg.as.b);
printf("bool(%s)", arg.as.b ? "true" : "false");
else if (arg.type == FZL_TYPE_NULL)
printf("<null>");
else if (arg.type == FZL_TYPE_OBJECT)
@@ -833,7 +833,7 @@ int fzl_vm_run(fzl_vm_t *vm)
else if (arg.type == FZL_TYPE_UINT)
printf("%lu\n", arg.as.u);
else if (arg.type == FZL_TYPE_BOOL)
printf("%b\n", arg.as.b);
printf("%s\n", arg.as.b ? "true" : "false");
else if (arg.type == FZL_TYPE_NULL)
printf("<null>\n");
else if (arg.type == FZL_TYPE_OBJECT)