From 40957b8193beeca88c723af690aae136c2d88d6b Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 21 May 2019 12:00:02 +0200 Subject: [PATCH] executor: exit after first detected leak in C repros Otherwise C repros print infinite stream of the same leaks again and again. --- executor/common_linux.h | 6 ------ pkg/csource/generated.go | 6 ------ 2 files changed, 12 deletions(-) diff --git a/executor/common_linux.h b/executor/common_linux.h index 4c33acde..ff312664 100644 --- a/executor/common_linux.h +++ b/executor/common_linux.h @@ -2701,9 +2701,7 @@ static void check_leaks(void) ssize_t n = read(fd, buf, sizeof(buf) - 1); if (n < 0) fail("failed to read(%s)", KMEMLEAK_FILE); -#if SYZ_EXECUTOR int nleaks = 0; -#endif if (n != 0) { sleep(1); if (write(fd, "scan", 4) != 4) @@ -2738,18 +2736,14 @@ static void check_leaks(void) fprintf(stderr, "BUG: memory leak\n%s\n", pos); *next = prev; pos = next; -#if SYZ_EXECUTOR nleaks++; -#endif } } if (write(fd, "clear", 5) != 5) fail("failed to write(%s, \"clear\")", KMEMLEAK_FILE); close(fd); -#if SYZ_EXECUTOR if (nleaks) doexit(1); -#endif } #endif diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 53458f2f..6f2a3635 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -4884,9 +4884,7 @@ static void check_leaks(void) ssize_t n = read(fd, buf, sizeof(buf) - 1); if (n < 0) fail("failed to read(%s)", KMEMLEAK_FILE); -#if SYZ_EXECUTOR int nleaks = 0; -#endif if (n != 0) { sleep(1); if (write(fd, "scan", 4) != 4) @@ -4920,18 +4918,14 @@ static void check_leaks(void) fprintf(stderr, "BUG: memory leak\n%s\n", pos); *next = prev; pos = next; -#if SYZ_EXECUTOR nleaks++; -#endif } } if (write(fd, "clear", 5) != 5) fail("failed to write(%s, \"clear\")", KMEMLEAK_FILE); close(fd); -#if SYZ_EXECUTOR if (nleaks) doexit(1); -#endif } #endif