aboutsummaryrefslogtreecommitdiffstats
path: root/filters.c
diff options
context:
space:
mode:
Diffstat (limited to 'filters.c')
-rw-r--r--filters.c49
1 files changed, 26 insertions, 23 deletions
diff --git a/filters.c b/filters.c
index 71d177135b..c13947ffe6 100644
--- a/filters.c
+++ b/filters.c
@@ -170,33 +170,36 @@ read_filter_list(filter_list_type_t list_type, char **pref_path_return,
g_free(ff_path);
ff_path = get_persconffile_path(FILTER_FILE_NAME, FALSE, FALSE);
if ((ff = eth_fopen(ff_path, "r")) == NULL) {
- /*
- * Did that fail because the file didn't exist?
- */
- if (errno != ENOENT) {
/*
- * No. Just give up.
+ * Did that fail because the file didn't exist?
*/
- *pref_path_return = ff_path;
- *errno_return = errno;
- return;
- }
-
- /*
- * Try to open the global "cfilters/dfilters" file */
- ff_path = get_datafile_path(ff_name);
- if ((ff = eth_fopen(ff_path, "r")) == NULL) {
+ if (errno != ENOENT) {
+ /*
+ * No. Just give up.
+ */
+ *pref_path_return = ff_path;
+ *errno_return = errno;
+ return;
+ }
/*
- * Well, that didn't work, either. Just give up.
- * Return an error if the file existed but we couldn't open it.
- */
- if (errno != ENOENT) {
- *pref_path_return = ff_path;
- *errno_return = errno;
- }
- return;
- }
+ * Try to open the global "cfilters/dfilters" file */
+ g_free(ff_path);
+ ff_path = get_datafile_path(ff_name);
+ if ((ff = eth_fopen(ff_path, "r")) == NULL) {
+
+ /*
+ * Well, that didn't work, either. Just give up.
+ * Return an error if the file existed but we couldn't open it.
+ */
+ if (errno != ENOENT) {
+ *pref_path_return = ff_path;
+ *errno_return = errno;
+ } else {
+ g_free(ff_path);
+ }
+ return;
+ }
}
}