From 126fff4e0dd5572ee031039eda58a3395b95afee Mon Sep 17 00:00:00 2001 From: Otavio Pontes Date: Fri, 6 Mar 2020 16:14:14 -0800 Subject: [PATCH] 3rd-party: Fixing some error handling problems on 3rd_party repo Signed-off-by: Otavio Pontes --- src/3rd_party_repos.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/3rd_party_repos.c b/src/3rd_party_repos.c index 53de4a49..34466f78 100644 --- a/src/3rd_party_repos.c +++ b/src/3rd_party_repos.c @@ -71,6 +71,12 @@ static bool parse_key_values(char *section, char *key, char *value, void *data) struct repo *repo; struct list **repos = data; + if (!section) { + // 3rd party doesn't have any key to be set outside of a section + // Ignoring it + return true; + } + repo = list_search(*repos, section, cmp_repo_name_string); if (!repo) { repo = calloc(1, sizeof(struct repo)); @@ -147,6 +153,7 @@ int third_party_add_repo(const char *repo_name, const char *repo_url) fp = fopen(repo_config_file, "a"); if (!fp) { ret = -errno; + goto exit; } // write name @@ -185,10 +192,6 @@ static int write_repo(FILE *fp, struct repo *repo) } } - if (ret) { - return ret; - } - return 0; }