diff options
author | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-07-26 11:50:33 +1000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-08-07 11:25:33 +1000 |
commit | a244dded2d86be83b1c49ec5ab1343b8dc5b63f3 (patch) | |
tree | 30a1693c988e31f06d5e981baedb42b9b4d3f1ba /discover/paths.c | |
parent | 0a4563280dc36fb21194e55c5f0f1c7cf7de5767 (diff) | |
download | talos-petitboot-a244dded2d86be83b1c49ec5ab1343b8dc5b63f3.tar.gz talos-petitboot-a244dded2d86be83b1c49ec5ab1343b8dc5b63f3.zip |
discover/paths: Cleanup res after getaddrinfo
Fixes Coverity defect #187192.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'discover/paths.c')
-rw-r--r-- | discover/paths.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/discover/paths.c b/discover/paths.c index 174bdae..e30f032 100644 --- a/discover/paths.c +++ b/discover/paths.c @@ -586,12 +586,14 @@ struct load_url_result *load_url_async(void *ctx, struct pb_url *url, /* If the url is remote but network is not yet available queue up this * load for later */ - if (url->scheme != pb_url_file && - getaddrinfo(url->host, NULL, NULL, &res) != 0) { - pb_log("load task for %s queued pending network\n", url->full); - pending_network_jobs_add(task, flags); - task->result->status = LOAD_ASYNC; - return task->result; + if (url->scheme != pb_url_file) { + if (getaddrinfo(url->host, NULL, NULL, &res) != 0) { + pb_log("load task for %s queued pending network\n", url->full); + pending_network_jobs_add(task, flags); + task->result->status = LOAD_ASYNC; + return task->result; + } + freeaddrinfo(res); } switch (url->scheme) { |