You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
public static void Main(string[] args)
{
var b0 = TestFbs(1); // This fails both VerifyTableStart, TestTableVerify.Verify
var b1 = TestFbs(512); // both Succeeds
}
static private ByteBuffer TestFbs(int startingSize)
{
// Start parsing fbs.
var fbsBuilder = new FlatBufferBuilder(startingSize);
var childrenOffset = new List<Offset<TestTableChild>>();
for (int i = 0; i < 4; i++)
{
TestTableChild.StartChildrenVector(fbsBuilder, 2);
var off1 = TestStruct.CreateTestStruct(fbsBuilder, [1, 2]);
var off2 = TestStruct.CreateTestStruct(fbsBuilder, [1, 2]);
var structChildrenOffset = fbsBuilder.EndVector();
var testTableChildOffset = TestTableChild.CreateTestTableChild(fbsBuilder, 1, structChildrenOffset);
childrenOffset.Add(testTableChildOffset);
}
var childrenVectorOffset = TestTable.CreateChildrenVector(fbsBuilder, childrenOffset.ToArray());
var offset = TestTable.CreateTestTable(fbsBuilder, 1, childrenVectorOffset);
fbsBuilder.Finish(offset.Value);
Verifier verifier = new Verifier(fbsBuilder.DataBuffer, new Options {alignmentCheck = false });
var ok = verifier.VerifyTableStart((uint)offset.Value);
var totalOk = TestTableVerify.Verify(verifier, (uint)offset.Value);
return fbsBuilder.DataBuffer;
}
It seems that the usage of the verifier is incorrect, there should be a function within the generated code that should verify the code for you. so in your case it should be something like Verify.TestTable and try using the SizedByteArray instead
public static bool VerifyMonster(ByteBuffer _bb) {
Google.FlatBuffers.Verifier verifier = new Google.FlatBuffers.Verifier(_bb);
return verifier.VerifyBuffer("MONS", false, MonsterVerify.Verify);
}
Here is full minimally reproducible code:
Test.cs
Message.fbs
I don't understand why resizing buffer causes different results. Funny thing is both buffers result in same Table data.
The text was updated successfully, but these errors were encountered: