]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: stream: initialize the current_rule field to NULL on stream init
authorRemi Gacogne <rgacogne-github@coredump.fr>
Wed, 22 Jul 2015 15:10:58 +0000 (17:10 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 26 Jul 2015 19:50:50 +0000 (21:50 +0200)
Currently it is possible for the current_rule field to be evaluated before
being set, leading to valgrind complaining:

==16783== Conditional jump or move depends on uninitialised value(s)
==16783==    at 0x44E662: http_res_get_intercept_rule (proto_http.c:3730)
==16783==    by 0x44E662: http_process_res_common (proto_http.c:6528)
==16783==    by 0x4797B7: process_stream (stream.c:1851)
==16783==    by 0x414634: process_runnable_tasks (task.c:238)
==16783==    by 0x40B02F: run_poll_loop (haproxy.c:1528)
==16783==    by 0x407F25: main (haproxy.c:1887)

This was introduced by commit 152b81e7b2565862956af883820d4f79177d0651.

src/stream.c

index ff6b32bb1cc62736f29106daf6ef1cfe7d095cab..e6f1fc64dd3048f686ce2f1a8451d0296d555655 100644 (file)
@@ -105,6 +105,7 @@ struct stream *stream_new(struct session *sess, struct task *t, enum obj_type *o
         * any rulelist match the NULL pointer.
         */
        s->current_rule_list = NULL;
+       s->current_rule = NULL;
 
        memset(s->stkctr, 0, sizeof(s->stkctr));