]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: sticktables: segfault in some configuration error cases
authorThierry Fournier <thierry.fournier@ozon.io>
Mon, 6 Jun 2016 16:28:05 +0000 (18:28 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 7 Jun 2016 09:05:23 +0000 (11:05 +0200)
commit6fc340ff07171bb85d11d835fa4158bbdef240a0
treed898da4e4860e2f7c08dd03e6bd268de5c3d62fb
parent13e9b0c9ed968e55612183127161ed84f4970bbb
BUG/MEDIUM: sticktables: segfault in some configuration error cases

When a stick table is tracked, and another one is used later on the
configuration, a segfault occurs.

The function "smp_create_src_stkctr" can return a NULL value, and
its value is not tested, so one other function try to dereference
a NULL pointer. This patch just add a verification of the NULL
pointer.

The problem is reproduced with this configuration:

   listen www
       mode http
       bind :12345
       tcp-request content track-sc0 src table IPv4
       http-request allow if { sc0_inc_gpc0(IPv6) gt 0 }
       server dummy 127.0.0.1:80
   backend IPv4
       stick-table type ip size 10 expire 60s store gpc0
   backend IPv6
       stick-table type ipv6 size 10 expire 60s store gpc0

Thank to kabefuna@gmail.com for the bug report.

This patch must be backported in the 1.6 and 1.5 version.
src/stream.c