Browse Source

FIX: off-by-one error when identifying the patch/Rack version by reading the magic sequence of a zstd-compressed patch.

pull/871/head
fixxxedpoint 2 months ago
parent
commit
436c882119
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      src/CardinalPlugin.cpp

+ 4
- 2
src/CardinalPlugin.cpp View File

@@ -28,6 +28,7 @@
#endif
#include <cfloat>
#include <cstddef>
#include <list>
#include "CardinalCommon.hpp"
@@ -1104,9 +1105,10 @@ protected:
rack::system::removeRecursively(fAutosavePath);
rack::system::createDirectories(fAutosavePath);
static constexpr const char zstdMagic[] = "\x28\xb5\x2f\xfd";
static constexpr const std::size_t zstdMagicSize = 4
static constexpr const char zstdMagic[zstdMagicSize + 1] = "\x28\xb5\x2f\xfd";
if (std::memcmp(data.data(), zstdMagic, sizeof(zstdMagic)) != 0)
if (std::memcmp(data.data(), zstdMagic, zstdMagicSize) != 0)
{
FILE* const f = std::fopen(rack::system::join(fAutosavePath, "patch.json").c_str(), "w");
DISTRHO_SAFE_ASSERT_RETURN(f != nullptr,);


Loading…
Cancel
Save