From 6a8097f034b7b872c662700486090a57515d10c0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 26 Feb 2011 15:14:15 +0100 Subject: [PATCH] [BUG] acl: fd leak when reading patterns from file The fd is not closed after patterns have successfully been read from a file. Bug reported by Bertrand Jacquin. Should be backported to 1.4. --- src/acl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/acl.c b/src/acl.c index c8a5a8860..fcfbf9fc2 100644 --- a/src/acl.c +++ b/src/acl.c @@ -1059,6 +1059,7 @@ static int acl_read_patterns_from_file( struct acl_keyword *aclkw, const char *args[2]; struct acl_pattern *pattern; int opaque; + int ret = 0; file = fopen(filename, "r"); if (!file) @@ -1119,15 +1120,14 @@ static int acl_read_patterns_from_file( struct acl_keyword *aclkw, pattern = NULL; /* get a new one */ } } - if (pattern) - free_pattern(pattern); - return 1; + + ret = 1; /* success */ out_free_pattern: free_pattern(pattern); out_close: fclose(file); - return 0; + return ret; } /* Parse an ACL expression starting at [0], and return it.