Package: freecraft Version: 1:1.20-1.1 I tested freecraft just now, and it was as always a nice gaming experience. But then I decided to give valgrind a chance on the binary, after installing the freecraft-dbg package. Just starting the program and stopping it on the main menu reports several memory issues:
% valgrind freecraft ==11342== Memcheck, a memory error detector ==11342== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. ==11342== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==11342== Command: freecraft ==11342== FreeCraft default config file loading ... Couldn't open cdrom drive: CD-ROM not opened ==11342== Invalid read of size 4 ==11342== at 0x4BF497: CclDefineButton (ccl_ui.c:3214) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xb46b490 is 0 bytes inside a block of size 2 alloc'd ==11342== at 0x4C28BED: malloc (vg_replace_malloc.c:263) ==11342== by 0x4BF462: CclDefineButton (ccl_ui.c:3211) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Invalid read of size 4 ==11342== at 0x4BF4AE: CclDefineButton (ccl_ui.c:3214) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xb46b5e8 is 24 bytes inside a block of size 27 alloc'd ==11342== at 0x4C28CCE: realloc (vg_replace_malloc.c:632) ==11342== by 0x4BF4E3: CclDefineButton (ccl_ui.c:3214) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Invalid read of size 4 ==11342== at 0x4BF2E7: CclDefineButton (ccl_ui.c:3188) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xc102050 is 0 bytes inside a block of size 1 alloc'd ==11342== at 0x4C272B8: calloc (vg_replace_malloc.c:566) ==11342== by 0x4BF2BC: CclDefineButton (ccl_ui.c:3185) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Invalid read of size 4 ==11342== at 0x4BF497: CclDefineButton (ccl_ui.c:3214) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x482CA8: leval_progn (slib.c:1853) ==11342== by 0x47EE9A: leval (slib.c:1664) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xb498ba0 is 0 bytes inside a block of size 2 alloc'd ==11342== at 0x4C28BED: malloc (vg_replace_malloc.c:263) ==11342== by 0x4BF462: CclDefineButton (ccl_ui.c:3211) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x482CA8: leval_progn (slib.c:1853) ==11342== by 0x47EE9A: leval (slib.c:1664) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Invalid read of size 4 ==11342== at 0x4BF4AE: CclDefineButton (ccl_ui.c:3214) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x482CA8: leval_progn (slib.c:1853) ==11342== by 0x47EE9A: leval (slib.c:1664) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xb498c50 is 16 bytes inside a block of size 17 alloc'd ==11342== at 0x4C28CCE: realloc (vg_replace_malloc.c:632) ==11342== by 0x4BF4E3: CclDefineButton (ccl_ui.c:3214) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x482CA8: leval_progn (slib.c:1853) ==11342== by 0x47EE9A: leval (slib.c:1664) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Invalid read of size 4 ==11342== at 0x4BF35D: CclDefineButton (ccl_ui.c:3193) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xb4d8d2c is 12 bytes inside a block of size 15 alloc'd ==11342== at 0x4C28CCE: realloc (vg_replace_malloc.c:632) ==11342== by 0x4BF333: CclDefineButton (ccl_ui.c:3188) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Invalid read of size 4 ==11342== at 0x4BF2FE: CclDefineButton (ccl_ui.c:3188) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== Address 0xb4d8df8 is 40 bytes inside a block of size 41 alloc'd ==11342== at 0x4C28CCE: realloc (vg_replace_malloc.c:632) ==11342== by 0x4BF333: CclDefineButton (ccl_ui.c:3188) ==11342== by 0x47EFBB: leval (slib.c:1660) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x47F04E: leval (slib.c:1636) ==11342== by 0x484BFC: vload (slib.c:2406) ==11342== by 0x41FD88: LoadCcl (ccl.c:954) ==11342== by 0x41576A: main (clone.c:1165) ==11342== 640 480 800 600 1024 768 1280 960 1600 1200 ... ready! ==11342== Conditional jump or move depends on uninitialised value(s) ==11342== at 0x47E8FC: looks_pointerp (slib.c:1403) ==11342== by 0x47FEB5: mark_locations_array (slib.c:1416) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Conditional jump or move depends on uninitialised value(s) ==11342== at 0x47E905: looks_pointerp (slib.c:1404) ==11342== by 0x47FEB5: mark_locations_array (slib.c:1416) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Conditional jump or move depends on uninitialised value(s) ==11342== at 0x47E922: looks_pointerp (slib.c:1405) ==11342== by 0x47FEB5: mark_locations_array (slib.c:1416) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Conditional jump or move depends on uninitialised value(s) ==11342== at 0x47E927: looks_pointerp (slib.c:1406) ==11342== by 0x47FEB5: mark_locations_array (slib.c:1416) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Use of uninitialised value of size 8 ==11342== at 0x47E929: looks_pointerp (slib.c:1407) ==11342== by 0x47FEB5: mark_locations_array (slib.c:1416) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Conditional jump or move depends on uninitialised value(s) ==11342== at 0x47FDEC: gc_mark (slib.c:1346) ==11342== by 0x47FEC6: mark_locations_array (slib.c:1417) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== ==11342== Use of uninitialised value of size 8 ==11342== at 0x47FDEE: gc_mark (slib.c:1347) ==11342== by 0x47FEC6: mark_locations_array (slib.c:1417) ==11342== by 0x47FFDD: gc_mark_and_sweep (slib.c:1320) ==11342== by 0x480B88: user_gc (slib.c:1476) ==11342== by 0x41FDF7: LoadCcl (ccl.c:958) ==11342== by 0x41576A: main (clone.c:1165) ==11342== FreeCraft V1.18, (c) 1998-2003 by The FreeCraft Project. written by Lutz Sammer, Fabrice Rossi, Vladi Shabanski, Patrice Fortier, Jon Gabrielson, Andreas Arens, Nehal Mistry, Jimmy Salmon and others. (http://FreeCraft.Org) SIOD Copyright by George J. Carrette. libmodplug Copyright by Kenton Varda & Olivier Lapique. SDL Copyright by Sam Lantinga. Compile options CCL ZLIB BZ2LIB SDL SDL-AUDIO SDL-CD SOUND Compile feature UNIT-ON-MAP NEW-FOW NEW-AI FreeCraft may be copied only under the terms of the GNU General Public License which may be found in the FreeCraft source kit. DISCLAIMER: This software is provided as-is. The author(s) can not be held liable for any damage that might arise from the use of this software. Use it at your own risk. Thanks for playing FreeCraft. ==11342== ==11342== HEAP SUMMARY: ==11342== in use at exit: 19,190,910 bytes in 12,709 blocks ==11342== total heap usage: 53,411 allocs, 40,702 frees, 66,359,269 bytes allocated ==11342== ==11342== LEAK SUMMARY: ==11342== definitely lost: 180 bytes in 6 blocks ==11342== indirectly lost: 1,728 bytes in 38 blocks ==11342== possibly lost: 38 bytes in 1 blocks ==11342== still reachable: 19,188,964 bytes in 12,664 blocks ==11342== suppressed: 0 bytes in 0 blocks ==11342== Rerun with --leak-check=full to see details of leaked memory ==11342== ==11342== For counts of detected and suppressed errors, rerun with: -v ==11342== Use --track-origins=yes to see where uninitialised values come from ==11342== ERROR SUMMARY: 1012 errors from 14 contexts (suppressed: 4 from 4) % These seem like problems that should be fixed to make the program more robust. :) -- Happy hacking Petter Reinholdtsen -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org