[AD] Bug in packfile_password() when used with load_datafile() (4.3.10) |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Hi all.
I have found a bug with the functions mentioned in the title. I have a game
(Alex the Allegator 2) that I am porting and when loading its datafile it
is getting an assert in src/file.c:1602. In this function
(free_packfile()) there is this comment:
/* These are no longer the responsibility of this function, but
* these assertions help catch instances of old code which still
* rely on the old behaviour.
*/
And then there are a bunch of asserts, including this one:
ASSERT(!f->normal.passdata);
Which is triggering. Now the thing is that this seems to be a bug in
Allegro itself. I don't have time to investigate it as I am madly porting
games for the Amiga Allegro release in Birmingham next Saturday. But it
seems to me if the only thing that the game code does it call
packfile_password() followed by load_datafile() and this triggers the
assert, then it is a problem with Allegro itself. Any comments?
The callstack of the crash is:
liballegro.so:free_packfile()+0x94 (section 1 @ 0x2d788)
liballegro.so:pack_fclose_chunk()+0x34C (section 1 @ 0x2ecc8)
liballegro.so:load_object()+0xFC (section 1 @ 0x213dc)
liballegro.so:load_file_object()+0x138 (section 1 @ 0x21a04)
liballegro.so:load_datafile_callback()+0x148 (section 1 @ 0x21d00)
liballegro.so:load_datafile()+0x50 (section 1 @ 0x21b90)
Alex2.debug:loadData()+0x34 (section 1 @ 0x43c)
Any thoughts?
--
/-------------------------------------------------------------------\
[Hitman/Code HQ - 6502/z80/68000/604e/80x86/ARM coder - Amiga rulez!]
[VZ-200/VIC-20/MZ-700/c16/c64*10/c128*8/Plus-4/CPC464/CD32/500*2 ]
[600/1000/1200*2/A4000/SNES/N64/Dreamcast/Athlon 1100/AmigaOne ]
[Assembly Language: The most fun you can have with your clothes on! ]
\-------------------------------------------------------------------/