From 9ccf6612256a1ea9ee23fb7926699672f2a6a83f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyril=20Bont=C3=A9?= Date: Wed, 24 Oct 2012 23:47:47 +0200 Subject: [PATCH] BUG/MAJOR: fix a segfault on option http_proxy and url_ip acl url2sa() mistakenly uses "addr" as a reference. This causes a segfault when option http_proxy or url_ip are used. This bug was introduced in haproxy 1.5 and doesn't need to be backported. --- src/standard.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/standard.c b/src/standard.c index 287931adf..76031e956 100644 --- a/src/standard.c +++ b/src/standard.c @@ -906,12 +906,12 @@ int url2sa(const char *url, int ulen, struct sockaddr_storage *addr) * be warned this can slow down global daemon performances * while handling lagging dns responses. */ - ret = url2ipv4(curr, &((struct sockaddr_in *)&addr)->sin_addr); + ret = url2ipv4(curr, &((struct sockaddr_in *)addr)->sin_addr); if (!ret) return -1; curr += ret; ((struct sockaddr_in *)addr)->sin_port = (*curr == ':') ? str2uic(++curr) : 80; - ((struct sockaddr_in *)addr)->sin_port = htons(((struct sockaddr_in *)&addr)->sin_port); + ((struct sockaddr_in *)addr)->sin_port = htons(((struct sockaddr_in *)addr)->sin_port); } return 0; }