summaryrefslogtreecommitdiffstats
path: root/source/slang
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-07-31 12:25:58 -0400
committerGitHub <noreply@github.com>2020-07-31 09:25:58 -0700
commitfc8b5758ca7a9b3aaf2f93d45ff570fab2a68bb8 (patch)
tree44f0b6b5b395c6a24ffd88407e4d6fb003276638 /source/slang
parent659d8ea5d8aad57f5e6fdbc48f94cc4b10b1c4d5 (diff)
Fix for bug where memory that has been allocated with new T[] (within a list) is freed with free in the RiffContainer. (#1473)
Diffstat (limited to 'source/slang')
-rw-r--r--source/slang/slang-ir-serialize.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/source/slang/slang-ir-serialize.cpp b/source/slang/slang-ir-serialize.cpp
index 369ea37c5..64316d457 100644
--- a/source/slang/slang-ir-serialize.cpp
+++ b/source/slang/slang-ir-serialize.cpp
@@ -462,9 +462,7 @@ static Result _writeArrayChunk(IRSerialCompressionType compressionType, FourCC c
header.numCompressedEntries = uint32_t(numCompressedEntries);
container->write(&header, sizeof(header));
-
- const size_t compressedSize = compressedPayload.getCount();
- container->moveOwned(container->addData(), compressedPayload.detachBuffer(), compressedSize);
+ container->write(compressedPayload.getBuffer(), compressedPayload.getCount());
break;
}
default:
@@ -600,9 +598,7 @@ Result _writeInstArrayChunk(IRSerialCompressionType compressionType, FourCC chun
header.numCompressedEntries = 0;
container->write(&header, sizeof(header));
-
- const size_t compressedPayloadSize = compressedPayload.getCount();
- container->moveOwned(container->addData(), compressedPayload.detachBuffer(), compressedPayloadSize);
+ container->write(compressedPayload.getBuffer(), compressedPayload.getCount());
return SLANG_OK;
}