The first Purify UMR warning when saving a game on win32 (in LSL2,
anyways) has the following callstack:

[W] UMR: Uninitialized memory read in write_heapptr {1 occurrence}
        Reading 2 bytes from 0x03290096 (2 bytes at 0x03290096
uninitialized)
        Address 0x03290096 is 62 bytes into a 24656 byte block at
0x03290058
        Address 0x03290096 points to a malloc'd block in heap 0x02b60000
        Thread ID: 0x1e0
        Error location
            write_heapptr  [savegame.c:57]
            cfsml_write_state_t [cfsml.pl:460]
            UnnamedFunction [cfsml.pl:823]
            kSaveGame      [kfile.c:863]
            run_vm         [vm.c:769]
            game_run       [vm.c:1553]
            game_run       [vm.c:1619]
            main           [main.c:1066]


The cfsml.pl lines are bogus, it would seem. Now when I restore, I get a
crash because (I think) we are trying to free the same pointer twice. The
crash happens @ vm.c:1579. The contents of the state struct appear to be
alright at that point, though.

I'll be on irc tomorrow if anyone will be around, perhaps I could get help
to debug this further :)



--
http://www.clock.org/~matt


Reply via email to