Fix more leaks...
All checks were successful
CMake / ubuntu-latest - shared=OFF, pthread=OFF, posix=OFF (push) Successful in 14s
CMake / ubuntu-latest - shared=ON, pthread=OFF, posix=OFF (push) Successful in 14s
CMake / ubuntu-latest - shared=OFF, pthread=OFF, posix=ON (push) Successful in 16s
CMake / ubuntu-latest - shared=ON, pthread=OFF, posix=ON (push) Successful in 16s
CMake / ubuntu-latest - shared=OFF, pthread=ON, posix=ON (push) Successful in 13s
CMake / ubuntu-latest - shared=ON, pthread=ON, posix=ON (push) Successful in 15s
All checks were successful
CMake / ubuntu-latest - shared=OFF, pthread=OFF, posix=OFF (push) Successful in 14s
CMake / ubuntu-latest - shared=ON, pthread=OFF, posix=OFF (push) Successful in 14s
CMake / ubuntu-latest - shared=OFF, pthread=OFF, posix=ON (push) Successful in 16s
CMake / ubuntu-latest - shared=ON, pthread=OFF, posix=ON (push) Successful in 16s
CMake / ubuntu-latest - shared=OFF, pthread=ON, posix=ON (push) Successful in 13s
CMake / ubuntu-latest - shared=ON, pthread=ON, posix=ON (push) Successful in 15s
Signed-off-by: Slendi <slendi@socopon.com>
This commit is contained in:
@@ -33,6 +33,7 @@ int main(int argc, char *argv[])
|
||||
if (!value) {
|
||||
printf("Failed to parse DCFG file. Error: %s\n",
|
||||
dcfg_last_error(instance));
|
||||
dcfg_destroy_instance(instance);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -931,6 +931,10 @@ AST *parser_parse_value(Parser *parser)
|
||||
&& parser->cur.type != TokenType_String) {
|
||||
strcpy(parser->instance->last_error,
|
||||
"Expected identifier or string for object key");
|
||||
for (size_t i = 0; i < vector_size(ast->v.bl.entryv); i++) {
|
||||
AST_free_parser(ast->v.bl.entryv[i].k, parser);
|
||||
AST_free_parser(ast->v.bl.entryv[i].v, parser);
|
||||
}
|
||||
vector_free(ast->v.bl.entryv);
|
||||
FREE(ast);
|
||||
return NULL;
|
||||
@@ -940,6 +944,10 @@ AST *parser_parse_value(Parser *parser)
|
||||
if (!Parser_accept(parser, TokenType_Set, NULL)) {
|
||||
strcpy(parser->instance->last_error,
|
||||
"Expected = after object key");
|
||||
for (size_t i = 0; i < vector_size(ast->v.bl.entryv); i++) {
|
||||
AST_free_parser(ast->v.bl.entryv[i].k, parser);
|
||||
AST_free_parser(ast->v.bl.entryv[i].v, parser);
|
||||
}
|
||||
vector_free(ast->v.bl.entryv);
|
||||
FREE(ast);
|
||||
return NULL;
|
||||
|
Reference in New Issue
Block a user