My code comes up with all green smiles on check50, but valgrind shows memory leaks. I don't think I fully understand pointers or malloc, yet.
Here's my code:
-code-
Here's valgrind:
~/workspace/pset4/bmp/ $ valgrind resize
==96876== Memcheck, a memory error detector
==96876== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==96876== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==96876== Command: resize
==96876==
COLUMNS=133;
LINES=10;
export COLUMNS LINES;
==96876==
==96876== HEAP SUMMARY:
==96876== in use at exit: 605 bytes in 4 blocks
==96876== total heap usage: 4 allocs, 0 frees, 605 bytes allocated
==96876==
==96876== 10 bytes in 1 blocks are definitely lost in loss record 1 of 4
==96876== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96876== by 0x401D3E: ??? (in /usr/bin/resize)
==96876== by 0x400EA4: ??? (in /usr/bin/resize)
==96876== by 0x4E58EC4: (below main) (libc-start.c:287)
==96876==
==96876== 11 bytes in 1 blocks are definitely lost in loss record 2 of 4
==96876== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96876== by 0x401D3E: ??? (in /usr/bin/resize)
==96876== by 0x400F9C: ??? (in /usr/bin/resize)
==96876== by 0x4E58EC4: (below main) (libc-start.c:287)
==96876==
==96876== 16 bytes in 1 blocks are definitely lost in loss record 3 of 4
==96876== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==96876== by 0x401D3E: ??? (in /usr/bin/resize)
==96876== by 0x400EDC: ??? (in /usr/bin/resize)
==96876== by 0x4E58EC4: (below main) (libc-start.c:287)
==96876==
==96876== LEAK SUMMARY:
==96876== definitely lost: 37 bytes in 3 blocks
==96876== indirectly lost: 0 bytes in 0 blocks
==96876== possibly lost: 0 bytes in 0 blocks
==96876== still reachable: 568 bytes in 1 blocks
==96876== suppressed: 0 bytes in 0 blocks
==96876== Reachable blocks (those to which a pointer was found) are not shown.
==96876== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==96876==
==96876== For counts of detected and suppressed errors, rerun with: -v
==96876== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
Edit: Thanks, here's valgrind now.
All heap blocks were freed -- no leaks are possible
:)