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:
Robbert van der Helm
2021-04-24 20:27:59 +02:00
parent 0d1cb0bd77
commit 671c6a4c18
2 changed files with 10 additions and 0 deletions
+1
View File
@@ -19,6 +19,7 @@ Versioning](https://semver.org/spec/v2.0.0.html).
- Prevent _Native Instruments' FM7_ from crashing when processing MIDI. As a
fix, MIDI events are now deallocated later then when they normally would have
to be.
- Prevent _Plugsound Free_ by UVI from crashing during initialization.
## [3.1.0] - 2021-04-15
+9
View File
@@ -482,6 +482,15 @@ class HostCallbackDataConverter : DefaultDataConverter {
case audioMasterGetProductString:
return WantsString{};
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:
return DefaultDataConverter::read(opcode, index, value, data);
break;