diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-22 02:25:47 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-22 02:25:47 +0200 |
| commit | bbf17bbf326c7157ca237b9659472ddf7626e68d (patch) | |
| tree | 95450d50a1931a6b13f941cdf3deb036506148df /scripts | |
| parent | ef0366eb4f02bb0cda359b977fdbdfa7c145f76f (diff) | |
| download | busybox-w32-bbf17bbf326c7157ca237b9659472ddf7626e68d.tar.gz busybox-w32-bbf17bbf326c7157ca237b9659472ddf7626e68d.tar.bz2 busybox-w32-bbf17bbf326c7157ca237b9659472ddf7626e68d.zip | |
crond: do not assume setenv() does not leak
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/test_setenv_leak.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/test_setenv_leak.c b/scripts/test_setenv_leak.c new file mode 100644 index 000000000..e51722ca7 --- /dev/null +++ b/scripts/test_setenv_leak.c | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | #include <stdio.h> | ||
| 2 | #include <stdlib.h> | ||
| 3 | #include <unistd.h> | ||
| 4 | int main(int argc, char **argv) | ||
| 5 | { | ||
| 6 | char buf[256]; | ||
| 7 | |||
| 8 | int i = argv[1] ? atoi(argv[1]) : 999999; | ||
| 9 | while (--i > 0) { | ||
| 10 | sprintf(buf, "%d", i); | ||
| 11 | setenv("VAR", buf, 1); | ||
| 12 | } | ||
| 13 | printf("Check size of [heap] mapping:\n"); | ||
| 14 | freopen("/proc/self/maps", "r", stdin); | ||
| 15 | while (fgets(buf, sizeof(buf), stdin)) | ||
| 16 | fputs(buf, stdout); | ||
| 17 | return 0; | ||
| 18 | } | ||
