From ccec43ca72ed80fd544fabe32da6cbae5f53bdcf Mon Sep 17 00:00:00 2001 From: Alexander Monakov Date: Sun, 6 Mar 2016 22:41:14 +0300 Subject: [PATCH] add putenv double-free regression test --- src/regression/putenv-doublefree.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/regression/putenv-doublefree.c diff --git a/src/regression/putenv-doublefree.c b/src/regression/putenv-doublefree.c new file mode 100644 index 0000000..f3a1f6c --- /dev/null +++ b/src/regression/putenv-doublefree.c @@ -0,0 +1,16 @@ +// commit 9543656cc32fda48fc463f332ee20e91eed2b768 2016-03-06 +// __putenv could be confused into freeing storage that does not belong to the implementation +#define _GNU_SOURCE +#include +#include + +int main(void) +{ + setenv("A", "1", 1); + setenv("A", "2", 1); + char *c = strdup("A=3"); + putenv(c); + setenv("A", "4", 1); + free(c); + return 0; +} -- 2.20.1