Browse Source

BIGRT: Optimize memory consumption [nodiff:caesar]
05d2fa4e71c76d7270e78ca7b1ae20a1114f07fa

pechatnov 7 months ago
parent
commit
77b841e1db
1 changed files with 2 additions and 0 deletions
  1. 2 0
      library/cpp/codecs/zstd_dict_codec.cpp

+ 2 - 0
library/cpp/codecs/zstd_dict_codec.cpp

@@ -131,11 +131,13 @@ namespace NCodecs {
             rawSz -= szSz;
 
             if (!datSz) {
+                outbuf.ReserveExactNeverCallMeInSaneCode(rawSz);
                 outbuf.Resize(rawSz);
                 memcpy(outbuf.data(), rawBeg, rawSz);
             } else {
                 //                size_t zSz = ZSTD_getDecompressedSize(rawBeg, rawSz);
                 //                Y_ENSURE_EX(datSz == zSz, TCodecException() << datSz << " != " << zSz);
+                outbuf.ReserveExactNeverCallMeInSaneCode(datSz);
                 outbuf.Resize(datSz);
                 TDCtx ctx{CheckPtr(ZSTD_createDCtx(), __LOCATION__)};
                 CheckSize(ZSTD_decompress_usingDDict(