public:
bool init(const char *filename, bool verify);
- bool initFromData(const uint8_t *mem, bool verify);
+ bool initFromData(const uint8_t *mem, size_t size, bool verify);
bool initFromXML(const char *config_name);
void release();
auto mmapGuard = transaction_guard::makeGuard([&] () { releaseMMap(); });
- if (!initFromData(mem, verify))
+ if (!initFromData(mem, length, verify))
return false;
openGuard.dismiss();
return true;
}
-bool StorageBackendSerialized::StorageBackendSerializedImpl::initFromData(const uint8_t *mem, bool verify) {
+bool StorageBackendSerialized::StorageBackendSerializedImpl::initFromData(const uint8_t *mem, size_t size, bool verify) {
assert(nullptr == file);
if (verify) {
- auto verifier = flatbuffers::Verifier(mem, length);
+ auto verifier = flatbuffers::Verifier(mem, size);
if (!FB::VerifyFileBuffer(verifier) || !FB::FileBufferHasIdentifier(mem)) {
char fid[FB::FB_ID_SIZE + 1] = {0, };
strncpy(fid, (const char *)(mem + FB::FB_ID_OFFSET), FB::FB_ID_SIZE);
if (nullptr == data)
return false;
- return initFromData(data, false);
+ return initFromData(data, serialized_size, false);
}
void StorageBackendSerialized::StorageBackendSerializedImpl::printContent(const bool xml_format) const {
return pimpl->init(filename, verify);
}
-bool StorageBackendSerialized::initFromData(const uint8_t *serialized_data, bool verify) {
- return pimpl->initFromData(serialized_data, verify);
+bool StorageBackendSerialized::initFromData(const uint8_t *serialized_data, size_t length, bool verify) {
+ return pimpl->initFromData(serialized_data, length, verify);
}
bool StorageBackendSerialized::initFromXML(const char *config_name) {
~StorageBackendSerialized();
bool init(const char *filename, bool verify = false);
- bool initFromData(const uint8_t *serialized_data, bool verify = false);
+ bool initFromData(const uint8_t *serialized_data, size_t length, bool verify = false);
bool initFromXML(const char *config_name);
void release();
}
StorageBackendSerialized storage;
- return storage.initFromData(buff);
+ return storage.initFromData(buff, size);
}
bool run_fb(const char *conf_file, bool verify) {
}
StorageBackendSerialized storage;
- storage.initFromData(buff);
+ storage.initFromData(buff, size);
printf("FLATBUFFERS:\n");
if (!worst)
const auto& system_bus_setup = access_test.first;
const auto& session_bus_setup = access_test.second;
- size_t size;
+ size_t size_sys, size_ses;
- auto buff_sys = serializer.serialize(system_bus_setup.first.c_str(), size);
+ auto buff_sys = serializer.serialize(system_bus_setup.first.c_str(), size_sys);
decltype(buff_sys) buff_ses = nullptr;
if (session_bus_setup.first == "")
- buff_ses = serializer.serialize(session_bus_setup.first.c_str(), size);
+ buff_ses = serializer.serialize(session_bus_setup.first.c_str(), size_ses);
ldp_serialized::StorageBackendSerialized storage_sys, storage_ses;
printf("FLATBUFFERS:\n");
- storage_sys.initFromData(buff_sys);
+ storage_sys.initFromData(buff_sys, size_sys);
bool res = run_tests_for_bus(storage_sys, policy_checker_system(), system_bus_setup.second, i, passed);
if (buff_ses) {
- storage_ses.initFromData(buff_ses);
+ storage_ses.initFromData(buff_ses, size_ses);
res &= run_tests_for_bus(storage_ses, policy_checker_session(), session_bus_setup.second, i, passed);
}
return res;
auto buff = serializer.serialize("tests/default_allow/system.conf", size);
ldp_serialized::StorageBackendSerialized storage;
- storage.initFromData(buff);
+ storage.initFromData(buff, size);
printf("FLATBUFFERS:\n");
bool ret = method_test(storage);
return ret;
auto buff = serializer.serialize("tests/default_deny/system.conf", size);
ldp_serialized::StorageBackendSerialized storage;
- storage.initFromData(buff);
+ storage.initFromData(buff, size);
printf("FRAMEBUFFERS:\n");
return ownership_test(storage);
auto buff = serializer.serialize("tests/default_allow/system.conf", size);
ldp_serialized::StorageBackendSerialized storage;
- storage.initFromData(buff);
+ storage.initFromData(buff, size);
printf("FLATBUFFERS:\n");
return ownership_test(storage);
}
auto buff = serializer.serialize("tests/default_deny/system.conf", size);
ldp_serialized::StorageBackendSerialized storage;
- storage.initFromData(buff);
+ storage.initFromData(buff, size);
printf("FLATBUFFERS:\n");
return send_prefix_test(storage);
auto buff = serializer.serialize("tests/default_allow/system.conf", size);
ldp_serialized::StorageBackendSerialized storage;
- storage.initFromData(buff);
+ storage.initFromData(buff, size);
printf("FLATBUFFERS:\n");
return signal_test(storage);