225 Commits

Author SHA1 Message Date
AliceLR
6e8a4e9385 Fix another LHA negative file length bug. 2022-03-29 23:28:44 -06:00
AliceLR
37e33b7886 Fix bugs related to module repeat and markers.
* When markers are enabled for a module with 256 orders, libxmp
  could attempt to index past the end of the orders array to find
  an end marker.
* When repeating from the end of a module or an end marker into an
  FE marker, libxmp would apply a junk global volume value from the
  marker's scan position instead of from the first actual pattern.
2022-03-18 17:46:52 -06:00
AliceLR
2811ed40fb Fix player volume overflow from bad envelope interpolation. 2022-03-16 03:04:48 -06:00
AliceLR
91b47ef8e5 Fix LHA hang caused by reading unsigned sizes as signed. 2022-03-15 19:12:58 -06:00
AliceLR
4bc9d5fe67 Fix UMRs caused by missing UMX hio_read return value check. 2022-03-15 18:55:58 -06:00
AliceLR
a8f7cce363 Fix mixer crashes caused by combined reverse + offset effects. 2022-03-01 18:29:29 -07:00
AliceLR
08bab7844e Fix crashes caused by sloppy !Tracker loader bounds check. 2022-02-28 20:23:55 -07:00
AliceLR
fbf8c9af5e Fix bounding for MED synth arpeggios. 2022-02-25 15:35:05 -07:00
AliceLR
159374a165 Fix multiple bidirectional loop/sustain bugs in the mixer.
* Positions <0 are now clamped at the start of rendering a tick.
  These could cause crashes and mostly only occur in situations
  where negative positions aren't useful.
* When a loop playing in reverse reaches the start of the loop
  at the end of rendering a tick, the loop is repositioned now.
  This prevents the aforementioned clamp from altering the
  playback rate of samples with reversed loops.
* The loop is no longer repositioned when the position is after
  the end of the loop when playing in reverse.
2022-02-25 15:35:04 -07:00
AliceLR
d3c79ed997 Fix more slow loads/high RAM usage caused by invalid DEFLATE streams.
Temporary fix for upstream issue 229, part 2.
2022-02-25 15:35:04 -07:00
AliceLR
685fab5b39 Fix slow loads/high RAM usage caused by some invalid DEFLATE streams.
Temporary fix for upstream issue 229.
2022-02-15 03:24:37 -07:00
AliceLR
dd8b82bb9b Fix BZ2 slow loads by resizing the output buffer by powers of 2. 2022-02-15 01:34:11 -07:00
AliceLR
aa09cf5eb2 Fix bunzip2 out-of-bounds array subscript in Huffman decoding. 2022-02-15 01:33:34 -07:00
AliceLR
97028b9105 Add missing IT filter clamp to mixer loops.
Adds a clamp to the IT filter mixer loops to prevent filtered output
samples from going above the expected level. The clamp was determined
by comparing against OpenMPT test modules that contain an IT WAV
writer output sample. This fixes numerous playback bugs in test
modules (and probably real modules) that use filters, and also stops
integer overflows in some rare situations with garbage samples.
2022-02-14 22:53:38 -07:00
AliceLR
6c9eeaace9 Fix mixer undefined behavior caused by unloaded samples with loops. 2022-02-14 22:22:26 -07:00
AliceLR
e110bf4bcc Fix Galaxy 4.0 envelope UMRs found via 06a32248. 2022-02-12 17:42:36 -07:00
AliceLR
9df453ad1a Move bunzip2 setjmp to write_bunzip_data to fix crashes. 2022-02-12 08:15:34 -07:00
AliceLR
91ec1eba22 Fix mixer crashes caused by bad IT sustain loop bounding. 2022-02-11 23:28:10 -07:00
AliceLR
29e27eec03 Fix out-of-memory caused by bad gzip data bounding. 2022-02-03 17:10:30 -07:00
AliceLR
231b1cfb88 Fix undefined behavior caused by low periods and vibrato. 2022-02-02 21:24:04 -07:00
AliceLR
06a32248b0 Fix undefined behavior caused by invalid XM volume envelopes. 2022-02-02 21:24:03 -07:00
AliceLR
89e95dbadc Tidy/merge similar depacker fuzzer tests. 2022-01-15 03:12:31 -07:00
AliceLR
0725f5ae5a Tidy/merge similar ProWizard fuzzer tests. 2022-01-14 07:51:24 -07:00
AliceLR
bf58af9c5a Clean up ARC/ArcFS fuzzer regression tests for new depackers. 2022-01-06 04:43:20 -07:00
AliceLR
7f795e289a Use libxmp_exclude_match in ARC/ArcFS depackers, add test casts. 2022-01-06 01:01:38 -07:00