continue;
xmlChar* val = xmlGetProp(node, reinterpret_cast<const xmlChar*>("id"));
+ if (val == nullptr)
+ continue;
+
std::shared_ptr<LoaderInfo> info =
std::make_shared<LoaderInfo>(std::string(reinterpret_cast<char*>(val)));
+ xmlFree(val);
if (!IsValidId(info->GetId(), pkgid))
return -1;
xmlChar* ttl = xmlGetProp(node,
reinterpret_cast<const xmlChar*>("time-to-live"));
- if (ttl)
+ if (ttl) {
info->SetTimeToLive(std::stoi(std::string(reinterpret_cast<char*>(ttl))));
+ xmlFree(ttl);
+ }
for (xmlNode* iter = node->children; iter; iter = iter->next) {
if (!iter->name)
std::string(reinterpret_cast<const char*>(iter->name));
if (child_name == "preload-library") {
xmlChar* libname = xmlGetProp(iter,
- reinterpret_cast<const xmlChar*>("name"));
+ reinterpret_cast<const xmlChar*>("name"));
if (!libname)
continue;
info->AddPreloadLib(std::string(reinterpret_cast<char*>(libname)));
+ xmlFree(libname);
}
}
loader_list_.push_back(info);
return -1;
std::string id = std::string(reinterpret_cast<char*>(val));
+ xmlFree(val);
if (!IsValidId(id, pkgid))
return -1;
remove(GetFilePath(id).c_str());