mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +02:00
Specifically not read data for audioMasterWantMidi
Plugsound Free by UVI will pass random garbage to the data parameter for this function call for whatever reason, and we'll run into a memory error if we try to read it. Mentioned in #93.
This commit is contained in:
@@ -19,6 +19,7 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
- Prevent _Native Instruments' FM7_ from crashing when processing MIDI. As a
|
- Prevent _Native Instruments' FM7_ from crashing when processing MIDI. As a
|
||||||
fix, MIDI events are now deallocated later then when they normally would have
|
fix, MIDI events are now deallocated later then when they normally would have
|
||||||
to be.
|
to be.
|
||||||
|
- Prevent _Plugsound Free_ by UVI from crashing during initialization.
|
||||||
|
|
||||||
## [3.1.0] - 2021-04-15
|
## [3.1.0] - 2021-04-15
|
||||||
|
|
||||||
|
|||||||
@@ -482,6 +482,15 @@ class HostCallbackDataConverter : DefaultDataConverter {
|
|||||||
case audioMasterGetProductString:
|
case audioMasterGetProductString:
|
||||||
return WantsString{};
|
return WantsString{};
|
||||||
break;
|
break;
|
||||||
|
// HACK: DefaultDataConverter::read() should be able to handle all
|
||||||
|
// of these 'simple' opcodes, but Plugsound Free by UVI passes
|
||||||
|
// random garbage for their data argument, which we would then
|
||||||
|
// try to read as a string resulting in a memory error.
|
||||||
|
case audioMasterGetSampleRate:
|
||||||
|
case audioMasterGetBlockSize:
|
||||||
|
case audioMasterWantMidi:
|
||||||
|
return nullptr;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return DefaultDataConverter::read(opcode, index, value, data);
|
return DefaultDataConverter::read(opcode, index, value, data);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user