diff --git a/scheduler/upgrade_cfg.cpp b/scheduler/upgrade_cfg.cpp index 2beb7cb..3ddcce8 100644 --- a/scheduler/upgrade_cfg.cpp +++ b/scheduler/upgrade_cfg.cpp @@ -12,6 +12,14 @@ int UpgradeCfg::ReadCfg(std::map &upgrade) { zlog_info(zbt, "[UpgradeCfg] no such file"); return 0; } + upgrade_file.seekg(0, std::ios::end); + std::streampos file_size = upgrade_file.tellg(); + if (file_size > 256000) { + zlog_error(zct, "upgrade file exception, will remove it"); + ClearCfg(); + return 1; + } + upgrade_file.seekg(0, std::ios::beg); Json::Reader reader; Json::Value root; @@ -51,6 +59,11 @@ int UpgradeCfg::ReadCfg(std::map &upgrade) { } int UpgradeCfg::WriteCfg(std::map &upgrade) { + if (upgrade.size() == 0) { + ClearCfg(); + return 0; + } + Json::Value root; for (auto item : upgrade) { Json::Value upgrade_item;