BUG/MAJOR: stick_table: Complete incomplete SEGV fix
This commit completes the incomplete segmentation fault fix
in commit ac1f3ed64b
.
Likewise it must be backported to haproxy 1.8.
This commit is contained in:
parent
091d827e09
commit
65189c17c6
|
@ -0,0 +1,30 @@
|
||||||
|
# Shipped with the commit fixing the bug.
|
||||||
|
|
||||||
|
varnishtest "Stick Table: Crash when accessing unknown key."
|
||||||
|
feature ignore_unknown_macro
|
||||||
|
|
||||||
|
server s0 {
|
||||||
|
rxreq
|
||||||
|
txresp
|
||||||
|
} -start
|
||||||
|
|
||||||
|
haproxy h0 -conf {
|
||||||
|
defaults
|
||||||
|
timeout connect 5000ms
|
||||||
|
timeout client 50000ms
|
||||||
|
timeout server 50000ms
|
||||||
|
|
||||||
|
frontend test
|
||||||
|
mode http
|
||||||
|
bind "fd@${fe1}"
|
||||||
|
stick-table type ip size 1m expire 1h store gpc0
|
||||||
|
http-request deny if { src,table_trackers(test) eq 1 }
|
||||||
|
http-request deny if { src,in_table(test) }
|
||||||
|
http-request deny deny_status 200
|
||||||
|
} -start
|
||||||
|
|
||||||
|
client c0 -connect ${h0_fe1_sock} {
|
||||||
|
txreq -url "/"
|
||||||
|
rxresp
|
||||||
|
expect resp.status == 200
|
||||||
|
} -run
|
|
@ -1596,8 +1596,10 @@ static int sample_conv_table_trackers(const struct arg *arg_p, struct sample *sm
|
||||||
smp->data.type = SMP_T_SINT;
|
smp->data.type = SMP_T_SINT;
|
||||||
smp->data.u.sint = 0;
|
smp->data.u.sint = 0;
|
||||||
|
|
||||||
if (ts)
|
if (!ts)
|
||||||
smp->data.u.sint = ts->ref_cnt;
|
return 1;
|
||||||
|
|
||||||
|
smp->data.u.sint = ts->ref_cnt;
|
||||||
|
|
||||||
stktable_release(t, ts);
|
stktable_release(t, ts);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue