Although my program seems to be working fine (I disabled a lot of functionality to test some stuff), I'm getting some odd errors in Valgrind (valgrind -v):
==2517== ERROR SUMMARY: 373 errors from 3 contexts (suppressed: 0 from 0)
==2517==
==2517== 2 errors in context 1 of 3:
==2517== Syscall param writev(vector[...]) points to uninitialised byte(s)
==2517== at 0x43180B0: writev (in /lib/libc-2.15.so)
==2517== Address 0x441f4cb is 19 bytes inside a block of size 16,384 alloc'd
==2517== at 0x4029796: calloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2517== by 0x503AD99: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==2517== by 0x414C46FF: ???
==2517==
==2517==
==2517== 2 errors in context 2 of 3:
==2517== Syscall param semctl(IPC_SET, arg.buf) points to uninitialised byte(s)
==2517== at 0x4321F7F: semctl@@GLIBC_2.2 (in /lib/libc-2.15.so)
==2517== by 0x3E7: ???
==2517== Address 0xbece0c00 is on thread 1's stack
==2517==
==2517==
==2517== 369 errors in context 3 of 3:
==2517== Syscall param writev(vector[...]) points to uninitialised byte(s)
==2517== at 0x43180B0: writev (in /lib/libc-2.15.so)
==2517== by 0x43D3FF3: ??? (in /lib/libc-2.15.so)
==2517== Address 0x441f4d7 is 31 bytes inside a block of size 16,384 alloc'd
==2517== at 0x4029796: calloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2517== by 0x503AD99: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==2517== by 0x414C46FF: ???
==2517==
==2517== ERROR SUMMARY: 373 errors from 3 contexts (suppressed: 0 from 0)
None of those are directly being called from the application. It is a SDL application being run from the terminal.