BUG/MINOR: sample: Memory leak of sample_expr structure in case of error

If an errors occurs during the sample expression parsing, the alloced
sample_expr is not freed despite having its main pointer reset.

This fixes GitHub issue #1046.
It could be backported as far as 1.8.
diff --git a/src/sample.c b/src/sample.c
index 7e4a0d0..bf2de2a 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -839,7 +839,7 @@
 	const char *begw; /* beginning of word */
 	const char *endw; /* end of word */
 	const char *endt; /* end of term */
-	struct sample_expr *expr;
+	struct sample_expr *expr = NULL;
 	struct sample_fetch *fetch;
 	struct sample_conv *conv;
 	unsigned long prev_type;
@@ -1022,7 +1022,7 @@
 	return expr;
 
 out_error:
-	/* TODO: prune_sample_expr(expr); */
+	release_sample_expr(expr);
 	expr = NULL;
 	goto out;
 }