summaryrefslogtreecommitdiffstats
path: root/proxy/src/gp_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/src/gp_config.c')
-rw-r--r--proxy/src/gp_config.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/proxy/src/gp_config.c b/proxy/src/gp_config.c
index 1b676d3..5051a91 100644
--- a/proxy/src/gp_config.c
+++ b/proxy/src/gp_config.c
@@ -33,12 +33,14 @@
static void free_str_array(const char ***a, int *count)
{
- const char **array = *a;
+ const char **array;
int i;
if (!a) {
return;
}
+ array = *a;
+
if (count) {
for (i = 0; i < *count; i++) {
safefree(array[i]);
@@ -282,13 +284,13 @@ static int gp_init_ini_context(const char *config_file,
}
ret = gp_config_init(config_file, ctx);
+
if (ret) {
- return ret;
+ free(ctx);
+ } else {
+ *ctxp = ctx;
}
-
- *ctxp = ctx;
-
- return 0;
+ return ret;
}
int load_config(struct gp_config *cfg)