I've had alook at them, and most of them are harmless, in the sense that they are telling us that we have some result we're not using. Generally, the variables are pointers or ints assigned the return value of a system call (fgets(), system(), or similar).
When debugging, it is interesting to look at those values, even if we aren't actually using them in the code.

Because the compiler can determine everything that is happening in this function it will unwind it - making it faster. In the process, it determines that at the end of the loops, we are trying to dereference unassigned memory.

The fix is simple enough - use < instead of <= when comparing in the loops.