The default tool that Valgrind uses is Memcheck. The Memcheck tool can detect quite an exhaustive list of issues, and some of them are as follows:
- Accessing outside the boundary of array, stack, or heap overruns
- Use of uninitialized memory
- Accessing the already released memory
- Memory leaks
- Mismatched use of new and free or malloc and delete
Let's have a look at some such issues in the next subsections.