Cleanup: close open file before returning

This prevents a resource leak.

Found by Coverity. Fixes CID 350080

The commit also includes some tiny whitespace/empty line fixes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2019-10-27 06:54:10 -04:00
parent 86b76b0aff
commit ee6b89268e

View file

@ -105,10 +105,10 @@ static void add_to_divespot_mapping(int divespot_id, struct dive_site *ds)
struct divespot_mapping *ndm = (struct divespot_mapping*)calloc(1, sizeof(struct divespot_mapping)); struct divespot_mapping *ndm = (struct divespot_mapping*)calloc(1, sizeof(struct divespot_mapping));
struct divespot_mapping **pdm = &divespot_mapping; struct divespot_mapping **pdm = &divespot_mapping;
struct divespot_mapping *cdm = *pdm; struct divespot_mapping *cdm = *pdm;
while (cdm && cdm->next) while (cdm && cdm->next)
cdm = cdm->next; cdm = cdm->next;
ndm->divespot_id = divespot_id; ndm->divespot_id = divespot_id;
ndm->dive_site = ds; ndm->dive_site = ds;
ndm->next = NULL; ndm->next = NULL;
@ -605,6 +605,7 @@ static bool uemis_get_answer(const char *path, char *request, int n_param_in,
} }
if (read(ans_file, tmp, 100) < 0) { if (read(ans_file, tmp, 100) < 0) {
free(ans_path); free(ans_path);
close(ans_file);
return false; return false;
} }
close(ans_file); close(ans_file);
@ -1183,7 +1184,7 @@ static bool load_uemis_divespot(const char *mountpath, int divespot_id)
static void get_uemis_divespot(device_data_t *devdata, const char *mountpath, int divespot_id, struct dive *dive) static void get_uemis_divespot(device_data_t *devdata, const char *mountpath, int divespot_id, struct dive *dive)
{ {
struct dive_site *nds = dive->dive_site; struct dive_site *nds = dive->dive_site;
if (is_divespot_mappable(divespot_id)) { if (is_divespot_mappable(divespot_id)) {
struct dive_site *ds = get_dive_site_by_divespot_id(divespot_id); struct dive_site *ds = get_dive_site_by_divespot_id(divespot_id);
unregister_dive_from_dive_site(dive); unregister_dive_from_dive_site(dive);