首页 > 解决方案 > C++/Flatbuffers - 内置验证程序不工作

问题描述

看看我的代码示例:

std::vector<std::byte> body_buffer;
body_buffer.resize(10);

flatbuffers::Verifier verifier(reinterpret_cast<const uint8_t *>(body_buffer.data()), 10);
bool verify = flatbuffers::GetRoot<Vibranium::VerifyPacketRequest>(body_buffer.data())->Verify(verifier);

if(verify){
    std::cout << "VERIFIED!" << std::endl;
} else {
    std::cout << "NOT VERIFIED!" << std::endl;
}

我基本上是给验证者一个空的字节向量,它返回的是VERIFIED!.

我错了还是验证器不工作?我做错了什么吗?

我的意图是向验证者提供确实有问题的数据,希望它能够捕捉到这一点。然而事实并非如此。为什么 ?

标签: c++flatbuffers

解决方案


推荐阅读