]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: checks: Don't try to release undefined conn_stream when a check is freed
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 25 Jan 2018 10:36:35 +0000 (11:36 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 25 Jan 2018 12:51:23 +0000 (13:51 +0100)
When a healt-check is released, the attached conn_stream may be undefined. For
instance, this happens when 'no-check' option is used on a server line. So we
must check it is defined before trying to release it.

This patch must be backported in 1.8.

src/checks.c

index 56c9d609d143e04ba6e8a1b2ee407697e81fb458..0d4893e693663053e623862154d976993bee8f02 100644 (file)
@@ -3098,10 +3098,12 @@ void free_check(struct check *check)
        check->bi = NULL;
        free(check->bo);
        check->bo = NULL;
-       free(check->cs->conn);
-       check->cs->conn = NULL;
-       cs_free(check->cs);
-       check->cs = NULL;
+       if (check->cs) {
+               free(check->cs->conn);
+               check->cs->conn = NULL;
+               cs_free(check->cs);
+               check->cs = NULL;
+       }
 }
 
 void email_alert_free(struct email_alert *alert)