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) {
|
if (!value) {
|
||||||
printf("Failed to parse DCFG file. Error: %s\n",
|
printf("Failed to parse DCFG file. Error: %s\n",
|
||||||
dcfg_last_error(instance));
|
dcfg_last_error(instance));
|
||||||
|
dcfg_destroy_instance(instance);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -931,6 +931,10 @@ AST *parser_parse_value(Parser *parser)
|
|||||||
&& parser->cur.type != TokenType_String) {
|
&& parser->cur.type != TokenType_String) {
|
||||||
strcpy(parser->instance->last_error,
|
strcpy(parser->instance->last_error,
|
||||||
"Expected identifier or string for object key");
|
"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);
|
vector_free(ast->v.bl.entryv);
|
||||||
FREE(ast);
|
FREE(ast);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -940,6 +944,10 @@ AST *parser_parse_value(Parser *parser)
|
|||||||
if (!Parser_accept(parser, TokenType_Set, NULL)) {
|
if (!Parser_accept(parser, TokenType_Set, NULL)) {
|
||||||
strcpy(parser->instance->last_error,
|
strcpy(parser->instance->last_error,
|
||||||
"Expected = after object key");
|
"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);
|
vector_free(ast->v.bl.entryv);
|
||||||
FREE(ast);
|
FREE(ast);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Reference in New Issue
Block a user