1 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 #include "../memcheck.h" 6 7 int main1 ( void ) 8 { 9 int xxx, i; 10 for (i = 0; i < 10; i++) VALGRIND_CHECK_VALUE_IS_DEFINED(xxx); 11 return 0; 12 } 13 14 int main ( void ) 15 { 16 int i, sum, m; 17 char* aa = calloc(100,1); 18 sum = 0; 19 20 VALGRIND_CHECK_MEM_IS_DEFINED(aa,100); 21 22 m = VALGRIND_MAKE_MEM_UNDEFINED( &aa[49], 1 ); 23 VALGRIND_CHECK_MEM_IS_ADDRESSABLE(aa,100); 24 25 printf("m_na: returned value is %d\n", m ); 26 27 for (i = 0; i < 100; i++) 28 sum += aa[i]; 29 printf("sum is %s\n", sum > 0 ? "positive" : "non-positive"); 30 31 m = VALGRIND_DISCARD(m); 32 printf("m_rm: returned value is %d\n", m ); 33 34 for (i = 0; i < 100; i++) 35 sum += aa[i]; 36 printf("sum is %s\n", sum > 0 ? "positive" : "non-positive"); 37 38 return 0; 39 } 40