BUG/MINOR: pattern: Avoid memory leak on out-of-memory condition

pattern_new_expr() failed to free the allocated list element when an
out-of-memory error occurs during initialization of the element.  As
this only happens when loading the configuration file or evaluating
commands via the CLI, it is unlikely for this leak to be relevant
unless the user makes automated, heavy use of the CLI.

Found in HAProxy 1.5.14.

(cherry picked from commit e6e22e8e909dc10be3ebeb4d18179dd8970d119e)
(cherry picked from commit 41a7e1b121d5eefe99d86eee2c2a47f573def595)
diff --git a/src/pattern.c b/src/pattern.c
index 4b20a54..1804b05 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -1904,6 +1904,7 @@
 		/* Get a lot of memory for the expr struct. */
 		expr = malloc(sizeof(*expr));
 		if (!expr) {
+			free(list);
 			memprintf(err, "out of memory");
 			return NULL;
 		}