title: Valgrind doesn't detect any memory leaks. How safe is that?
body: <p>I have run my code through <code>valgrind</code> with these results:  </p>
  
  <blockquote>
    <p>==4492== Memcheck, a memory error detector<br>
    ==4492== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.<br>
    ==4492== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info<br>
    ==4492== Command: ./mem<br>
    ==4492== Parent PID: 4455<br>
    ==4492==<br>
    ==4492==<br>
    ==4492== HEAP SUMMARY:<br>
    ==4492==     in use at exit: 0 bytes in 0 blocks<br>
    ==4492==   total heap usage: 19,595,342 allocs, 19,595,342 frees, 27,194,270 bytes allocated
    ==4492==<br>
    ==4492== All heap blocks were freed -- no leaks are possible<br>
    ==4492==<br>
    ==4492== For counts of detected and suppressed errors, rerun with: -v<br>
    ==4492== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)  </p>
  </blockquote>
  
  <p>However, while the code is running, I see a small, steady increase in the memory used by the program. How sure can I be with that result?</p>
  
  <p>I run <code>valgrind</code> using:</p>
  
  <pre><code>valgrind --track-origins=yes --leak-check=yes
      --tool=memcheck --read-var-info=yes --log-file=error.txt`
  </code></pre>
  
  <p>and I compile the program using the <code>-g</code> and the <code>-march=core2</code> tags.</p>