]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam
authorWilly Tarreau <w@1wt.eu>
Wed, 29 Apr 2020 09:50:38 +0000 (11:50 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 29 Apr 2020 09:55:36 +0000 (11:55 +0200)
Since commit 5f940703b3 ("MINOR: log: Don't depends on a stream to process
samples in log-format string") it has become quite obvious that a few sample
fetch functions and converters were still heavily dependent on the presence
of a stream without testing for it.

The unique-id sample fetch function, if called without a stream, will result
in a crash.

This fix adds a check for the stream's existence, and should be backported
to all stable versions up to 1.7.

src/http_fetch.c

index 11c1c5ab0264931c10ebec83db3960be6c116ab7..765c4458f4964ea69a84314912bc6e41cafdad1e 100644 (file)
@@ -414,6 +414,9 @@ static int smp_fetch_uniqueid(const struct arg *args, struct sample *smp, const
        if (LIST_ISEMPTY(&smp->sess->fe->format_unique_id))
                return 0;
 
+       if (!smp->strm)
+               return 0;
+
        unique_id = stream_generate_unique_id(smp->strm, &smp->sess->fe->format_unique_id);
        if (!isttest(unique_id))
                return 0;