diff options
author | va-kuznecov <va-kuznecov@ydb.tech> | 2023-02-13 15:26:32 +0300 |
---|---|---|
committer | va-kuznecov <va-kuznecov@ydb.tech> | 2023-02-13 15:26:32 +0300 |
commit | 55ccb2badc5b0b4ec95b727d386be4c3865953d0 (patch) | |
tree | a0e703d3f6112c1b2246f7a00a6af3470ad49806 | |
parent | 3e456a1cf49ee640659b22a6799a221b0ebd01ec (diff) | |
download | ydb-55ccb2badc5b0b4ec95b727d386be4c3865953d0.tar.gz |
Fix ub in erasure_ut.cpp
-rw-r--r-- | ydb/core/erasure/erasure_ut.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/ydb/core/erasure/erasure_ut.cpp b/ydb/core/erasure/erasure_ut.cpp index 3029d8387a8..035c6133f96 100644 --- a/ydb/core/erasure/erasure_ut.cpp +++ b/ydb/core/erasure/erasure_ut.cpp @@ -7,8 +7,6 @@ namespace NKikimr { void TestMissingPartWithRandomData(TErasureType &groupType, ui32 *missingPartIdx, ui32 missingParts, ui32 dataSize, bool isRestoreParts, bool isRestoreFullData, TString &info) { - NPrivate::TMersenne64 randGen(Seed()); - ui32 partMask = ~(ui32)0; for (ui32 i = 0; i < missingParts; ++i) { partMask &= ~(ui32)(1ul << missingPartIdx[i]); @@ -18,18 +16,8 @@ void TestMissingPartWithRandomData(TErasureType &groupType, ui32 *missingPartIdx (isRestoreParts ? "true" : "false"), (isRestoreFullData ? "true" : "false")); VERBOSE_COUT(" dataSize# " << dataSize << Endl); - TString testString; - testString.resize(dataSize); - char *writePosChar = (char *)testString.data(); - ui32 charParts = testString.size() % sizeof(ui64); - for (ui32 i = 0; i < charParts; ++i) { - writePosChar[i] = (char)randGen.GenRand(); - } - ui64 *writePos64 = (ui64 *)writePosChar; - ui32 ui64Parts = testString.size() / sizeof(ui64); - for (ui32 i = 0; i < ui64Parts; ++i) { - writePos64[i] = randGen.GenRand(); - } + TString testString = TString::Uninitialized(dataSize); + Seed().Read(testString.Detach(), testString.size()); // Split the data into parts TDataPartSet partSet; |