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.
This commit is contained in:
Jerome Magnin 2020-01-17 16:09:33 +01:00 committed by Willy Tarreau
parent 17ccd1a356
commit 3c79d4bdc4

View File

@ -2328,6 +2328,11 @@ int pat_ref_read_from_file_smp(struct pat_ref *ref, const char *filename, char *
}
}
if (ferror(file)) {
memprintf(err, "error encountered while reading <%s> : %s",
filename, strerror(errno));
goto out_close;
}
/* succes */
ret = 1;
@ -2385,6 +2390,11 @@ int pat_ref_read_from_file(struct pat_ref *ref, const char *filename, char **err
}
}
if (ferror(file)) {
memprintf(err, "error encountered while reading <%s> : %s",
filename, strerror(errno));
goto out_close;
}
ret = 1; /* success */
out_close: