conf: add missing fclose in error path
This patch seems a bit ugly, maybe it would be a bit cleaner with gotos.
This commit is contained in:
parent
d5684f7444
commit
c49c69d6ea
11
src/conf.c
11
src/conf.c
@ -367,6 +367,7 @@ config_read_file(const char *file, GError **error_r)
|
||||
assert(*line != 0);
|
||||
g_propagate_prefixed_error(error_r, error,
|
||||
"line %i: ", count);
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -378,6 +379,7 @@ config_read_file(const char *file, GError **error_r)
|
||||
g_set_error(error_r, config_quark(), 0,
|
||||
"unrecognized parameter in config file at "
|
||||
"line %i: %s\n", count, name);
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -387,6 +389,7 @@ config_read_file(const char *file, GError **error_r)
|
||||
"config parameter \"%s\" is first defined "
|
||||
"on line %i and redefined on line %i\n",
|
||||
name, param->line, count);
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -398,6 +401,7 @@ config_read_file(const char *file, GError **error_r)
|
||||
if (*line != '{') {
|
||||
g_set_error(error_r, config_quark(), 0,
|
||||
"line %i: '{' expected", count);
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -406,12 +410,15 @@ config_read_file(const char *file, GError **error_r)
|
||||
g_set_error(error_r, config_quark(), 0,
|
||||
"line %i: Unknown tokens after '{'",
|
||||
count);
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
param = config_read_block(fp, &count, string, error_r);
|
||||
if (param == NULL)
|
||||
if (param == NULL) {
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
/* a string value */
|
||||
|
||||
@ -428,6 +435,7 @@ config_read_file(const char *file, GError **error_r)
|
||||
g_error_free(error);
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -435,6 +443,7 @@ config_read_file(const char *file, GError **error_r)
|
||||
g_set_error(error_r, config_quark(), 0,
|
||||
"line %i: Unknown tokens after value",
|
||||
count);
|
||||
fclose(fp);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user