Hi,
I finally had the time to sit down and look a bit more at this. It turns
out I can make the crash go away by adding the following line to
IniConfig::clear():
emulation_s.engine = NULL;
It seems that when it's reading the 'Engine' field from sidplayfp.ini,
IniConfig::readString() never even gets to the part where it allocated a
buffer for it. So presumably it was always left uninitialized, but it
took the hardening flags to actually make it crash.
(Another part of the reason may have been that I never created any
sidplayfp.ini myself, so I was provided with a default file where all
entries were empty.)
For reference, here is what the backtrace looked like:
(gdb) bt
#0 0x8000bb21 in ConsolePlayer::ConsolePlayer (this=0xbffff0e8,
name=0xbffff49c
"/home/d91tan/Kickstarter/Breakout/Hack/sidplayfp-1.2.0/src/sidplayfp")
at player.cpp:117
#1 0x8000396f in main (argc=1, argv=0xbffff304) at main.cpp:41
(gdb) print emulation
$1 = {engine = 0xffffffff <Address 0xffffffff out of bounds>,
modelDefault = SidConfig::PAL, modelForced = false,
sidModel = SidConfig::MOS6581, forceModel = false, filter = true,
bias = <optimized out>, filterCurve6581 = <optimized out>,
filterCurve8580 = <optimized out>}
Regards,
Torbjörn Andersson
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org