mirror of
https://github.com/holub/mame
synced 2025-07-08 19:31:59 +03:00
imagedev/floppy.cpp: fix out-of-bounds access to the seek sample (#12452)
Currently, when `floppy_sound_device::step` selects a new seek sample, the value of `m_seek_samplepos` remains the same as it was the last time a seek sample was played. This might be an invalid position for the new sample, since the seek samples have different lengths. When this is the case, the next call to `floppy_sound_device::sound_stream_update` makes an out-of-bounds memory access as it reads the sample data. Fix this by resetting `m_seek_samplepos` to 0 when a new seek sample is selected. This also makes the seek sounds more consistent, since previously they would start from a semi-random position each time.
This commit is contained in:
parent
8f2ca1607b
commit
79d3330a60
@ -1639,6 +1639,9 @@ void floppy_sound_device::step(int zone)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Start the new seek sound from the beginning.
|
||||
m_seek_samplepos = 0;
|
||||
}
|
||||
|
||||
// Changing the pitch does not always sound convincing
|
||||
|
Loading…
Reference in New Issue
Block a user