BUG/MINOR: pattern: handle errors from fgets when trying to load patterns
We need to do some error handling after we call fgets to make sure everything
went fine. If we don't users can be fooled into thinking they can load pattens
from directory because cfgparse doesn't flinch. This applies to acl patterns
map files.
This should be backported to all supported versions.
diff --git a/src/pattern.c b/src/pattern.c
index ec7e955..33e0e17 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -2328,6 +2328,11 @@
}
}
+ if (ferror(file)) {
+ memprintf(err, "error encountered while reading <%s> : %s",
+ filename, strerror(errno));
+ goto out_close;
+ }
/* succes */
ret = 1;
@@ -2385,6 +2390,11 @@
}
}
+ if (ferror(file)) {
+ memprintf(err, "error encountered while reading <%s> : %s",
+ filename, strerror(errno));
+ goto out_close;
+ }
ret = 1; /* success */
out_close: