From: Alexander Monakov Date: Sun, 6 Mar 2016 19:41:14 +0000 (+0300) Subject: add putenv double-free regression test X-Git-Url: http://nsz.repo.hu/git/?p=libc-test;a=commitdiff_plain;h=ccec43ca72ed80fd544fabe32da6cbae5f53bdcf;ds=sidebyside add putenv double-free regression test --- 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; +}