haproxy/src
Willy Tarreau 681e49db49 BUG/MEDIUM: args: fix double free on error path in argument expression parser
William Lallemand reported a double free on the args parser used in fetches
and ACLs. The cause is that the arg expression is not fully initialized nor
deinitialized when killed and that one of the pointers was already freed once
in certain error conditions.

Simply set it to NULL after the first call to free().

The bug was apparently introduced in 1.5-dev9 with commit 2ac5718
(MEDIUM: add a new typed argument list parsing framework).
2013-12-06 15:30:05 +01:00
..
acl.c BUG/MINOR: acl: acl parser does not recognize empty converter list 2013-12-06 11:32:19 +01:00
appsession.c MEDIUM: make the trash be a chunk instead of a char * 2012-10-29 16:57:30 +01:00
arg.c BUG/MEDIUM: args: fix double free on error path in argument expression parser 2013-12-06 15:30:05 +01:00
auth.c MINOR: acl/pattern: use types different from int to clarify who does what. 2013-12-02 23:31:33 +01:00
backend.c BUG/MINOR: backend: fix target address retrieval in transparent mode 2013-12-01 21:46:24 +01:00
base64.c
buffer.c MINOR: buffer: align the last output line if there are less than 8 characters left 2013-11-21 08:07:04 +01:00
cfgparse.c MEDIUM: checks: add send/expect tcp based check 2013-12-06 11:50:47 +01:00
channel.c OPTIM: channel: inline channel_forward's fast path 2012-10-26 01:08:01 +02:00
checks.c BUG/MEDIUM: check: tcp-check might miss some outgoing data when socket buffers are full 2013-12-06 14:26:55 +01:00
chunk.c MINOR: chunks: centralize the trash chunk allocation 2012-12-23 21:46:07 +01:00
compression.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
connection.c MEDIUM: connection: set the socket shutdown flags on socket errors 2013-12-04 23:50:36 +01:00
cttproxy.c CLEANUP: cttproxy: remove a warning on undeclared close() 2012-10-05 22:18:07 +02:00
dumpstats.c MINOR: stats: remove some confusion between the DRAIN state and NOLB 2013-12-04 00:59:55 +01:00
ev_epoll.c OPTIM/MEDIUM: epoll: fuse active events into polled ones during polling changes 2013-11-15 23:15:10 +01:00
ev_kqueue.c BUG/MINOR: poll: the I/O handler was called twice for polled I/Os 2012-12-14 00:17:03 +01:00
ev_poll.c MEDIUM: poll: do not use FD_* macros anymore 2013-03-31 15:01:01 +02:00
ev_select.c BUG/MAJOR: ev_select: disable the select() poller if maxsock > FD_SETSIZE 2013-03-31 15:01:05 +02:00
fd.c BUG: polling: don't skip polled events in the spec list 2012-11-12 01:57:14 +01:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
haproxy-systemd-wrapper.c LOW: systemd-wrapper: Write debug information to stdout 2013-11-23 12:06:51 +01:00
haproxy.c MEDIUM: http: The redirect strings follows the log format rules. 2013-12-02 23:31:33 +01:00
hash.c MEDIUM: backend: add support for the wt6 hash 2013-11-14 16:37:50 +01:00
hdr_idx.c
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MAJOR: server: weight calculation fails for map-based algorithms 2013-11-21 15:09:02 +01:00
lb_fas.c BUG/MAJOR: server: weight calculation fails for map-based algorithms 2013-11-21 15:09:02 +01:00
lb_fwlc.c BUG/MAJOR: server: weight calculation fails for map-based algorithms 2013-11-21 15:09:02 +01:00
lb_fwrr.c BUG/MAJOR: server: weight calculation fails for map-based algorithms 2013-11-21 15:09:02 +01:00
lb_map.c BUG/MAJOR: server: weight calculation fails for map-based algorithms 2013-11-21 15:09:02 +01:00
listener.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
log.c BUILD: log: silent a warning about isblank() with latest patches 2013-12-03 00:51:09 +01:00
map.c MEDIUM: map: merge identical maps 2013-12-06 11:40:53 +01:00
memory.c MEDIUM: memory: add the ability to poison memory at run time 2012-05-08 21:28:16 +02:00
pattern.c MINOR: tools: add a generic binary hex string parser 2013-12-06 11:50:47 +01:00
payload.c MEDIUM: pattern: rename "acl" prefix to "pat" 2013-12-02 23:31:33 +01:00
peers.c MINOR: peers: accept to learn strings of different lengths 2013-11-25 23:15:06 +01:00
pipe.c
proto_http.c BUG/MEDIUM: checks: also update the DRAIN state from the web interface 2013-12-04 00:54:18 +01:00
proto_tcp.c MEDIUM: connection: set the socket shutdown flags on socket errors 2013-12-04 23:50:36 +01:00
proto_uxst.c MAJOR: listener: support inheriting a listening fd from the parent 2013-03-11 01:30:01 +01:00
protocol.c REORG: split "protocols" files into protocol and listener 2012-09-15 22:29:32 +02:00
proxy.c MEDIUM: checks: add send/expect tcp based check 2013-12-06 11:50:47 +01:00
queue.c MAJOR: connection: replace struct target with a pointer to an enum 2012-11-12 00:42:33 +01:00
raw_sock.c MINOR: connection: clear errno prior to checking for errors 2013-12-05 02:23:48 +01:00
rbtree.c
regex.c CLEANUP: regex: Create regex_comp function that compiles regex using compilation options 2013-10-14 14:42:50 +02:00
sample.c BUG/MEDIUM: acl: fix regression introduced by latest converters support 2013-12-05 02:23:13 +01:00
server.c MEDIUM: Set rise and fall of agent checks to 1 2013-11-25 07:31:16 +01:00
session.c OPTIM/MINOR: mark the source address as already known on accept() 2013-11-16 00:17:59 +01:00
sessionhash.c
shctx.c BUG/MEDIUM: shctx: makes the code independent on SSL runtime version. 2013-04-26 19:15:52 +02:00
signal.c BUG/MEDIUM: signal: signal handler does not properly check for signal bounds 2013-01-24 16:19:19 +01:00
ssl_sock.c MEDIUM: pattern: rename "acl" prefix to "pat" 2013-12-02 23:31:33 +01:00
standard.c MINOR: tools: function my_memmem() to lookup binary contents 2013-12-06 11:50:47 +01:00
stick_table.c BUG/MEDIUM: acl: fix regression introduced by latest converters support 2013-12-05 02:23:13 +01:00
stream_interface.c MEDIUM: connection: set the socket shutdown flags on socket errors 2013-12-04 23:50:36 +01:00
task.c
time.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
trace.c MINOR: add a new function call tracer for debugging purposes 2012-05-26 00:12:37 +02:00
uri_auth.c BUG/MEDIUM: uri_auth: missing NULL check and memory leak on memory shortage 2013-01-24 16:19:19 +01:00