From: Willy Tarreau Date: Mon, 3 Jan 2011 20:04:10 +0000 (+0100) Subject: [BUG] acl: fix handling of empty lines in pattern files X-Git-Tag: v1.5-dev8~332 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5109196275d0e7a33f5d029bff96aa0fd58d759a;p=thirdparty%2Fhaproxy.git [BUG] acl: fix handling of empty lines in pattern files Gabriel Sosa reported that haproxy unexpectedly reports an error when a pattern file loaded by an ACL contains an empty line. The test was present but inefficient as it did not consider the '\n' as the end of the line. This fix relies on the line length instead. It should be backported to 1.4. --- diff --git a/src/acl.c b/src/acl.c index be28ca9e70..c8a5a88603 100644 --- a/src/acl.c +++ b/src/acl.c @@ -1083,15 +1083,16 @@ static int acl_read_patterns_from_file( struct acl_keyword *aclkw, while (*c == ' ' || *c == '\t') c++; - /* empty lines are ignored too */ - if (!*c) - continue; args[0] = c; while (*c && *c != '\n' && *c != '\r') c++; *c = 0; + /* empty lines are ignored too */ + if (c == args[0]) + continue; + /* we keep the previous pattern along iterations as long as it's not used */ if (!pattern) pattern = (struct acl_pattern *)malloc(sizeof(*pattern));