diff --git a/source/backend/engine/CarlaEngineBridge.cpp b/source/backend/engine/CarlaEngineBridge.cpp index 65e49bbd8..a312f0ddc 100644 --- a/source/backend/engine/CarlaEngineBridge.cpp +++ b/source/backend/engine/CarlaEngineBridge.cpp @@ -877,7 +877,9 @@ public: fShmNonRtServerControl.writeCustomData(cdata.key, keyLen); fShmNonRtServerControl.writeUInt(valueLen); - fShmNonRtServerControl.writeCustomData(cdata.value, valueLen); + + if (valueLen > 0) + fShmNonRtServerControl.writeCustomData(cdata.value, valueLen); fShmNonRtServerControl.commitWrite(); fShmNonRtServerControl.waitIfDataIsReachingLimit(); diff --git a/source/backend/plugin/CarlaPluginBridge.cpp b/source/backend/plugin/CarlaPluginBridge.cpp index 3b377bc42..6692a8ad8 100644 --- a/source/backend/plugin/CarlaPluginBridge.cpp +++ b/source/backend/plugin/CarlaPluginBridge.cpp @@ -2115,7 +2115,9 @@ public: const uint32_t valueSize(fShmNonRtServerControl.readUInt()); char value[valueSize+1]; carla_zeroChars(value, valueSize+1); - fShmNonRtServerControl.readCustomData(value, valueSize); + + if (valueSize > 0) + fShmNonRtServerControl.readCustomData(value, valueSize); CarlaPlugin::setCustomData(type, key, value, false); } break;