1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// Bruce Lowekamp <lowekamp@sipeerior.com> reported that in a program with a 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// reachable leak, if you do: 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// valgrind --leak-check=yes --gen-suppressions=yes --show-reachable=no -q 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// it gives the y/n/c suppression prompt for errors that aren't shown. This 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// test checks that is fixed. 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// [The .vgtest file was later changed to use --leak-check=all so that if a 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// suppression is (erroneously?) generated, the test doesn't wait for the user 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// to press 'y', because that pauses the entire regtest system.] 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdlib.h> 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint* a; 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main ( void ) 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown a = malloc(1000); // Becomes a reachable leak. 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown a[0] = 0; 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown return a[0]; 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 24