From 3c9a08bf7ff96263d6558a544170aba31247c37c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Wed, 15 Jan 2020 11:06:54 +0100 Subject: [PATCH] yml: destroy 'current' yaml event before erroring out --- yml.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/yml.c b/yml.c index 76d0590..73e5083 100644 --- a/yml.c +++ b/yml.c @@ -422,6 +422,7 @@ yml_load(FILE *yml, char **error) if (err != YML_ERR_NONE) { error_str = format_error(err, n, clone, NULL); yml_destroy(clone); + yaml_event_delete(&event); goto err; } @@ -433,6 +434,7 @@ yml_load(FILE *yml, char **error) error_str = format_error( YML_ERR_INVALID_ANCHOR, n, NULL, (const char *)event.data.alias.anchor); + yaml_event_delete(&event); goto err; } break; @@ -448,6 +450,7 @@ yml_load(FILE *yml, char **error) if (err != YML_ERR_NONE) { error_str = format_error(err, n, new_scalar, NULL); yml_destroy(new_scalar); + yaml_event_delete(&event); goto err; } @@ -468,6 +471,7 @@ yml_load(FILE *yml, char **error) if (err != YML_ERR_NONE) { error_str = format_error(err, n, new_list, NULL); yml_destroy(new_list); + yaml_event_delete(&event); goto err; } @@ -496,6 +500,7 @@ yml_load(FILE *yml, char **error) if (err != YML_ERR_NONE) { error_str = format_error(err, n, new_dict, NULL); yml_destroy(new_dict); + yaml_event_delete(&event); goto err; }