diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index f79ba11..ee1c902 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -3374,12 +3374,15 @@ void hg_scanner::erase_option(const char* name) } void hg_scanner::erase_range(const char* name, const char* opt_name) { - for (size_t i = 0; i < setting_jsn_.at(name).at("range").size(); i++) + if (setting_jsn_.count(name) && setting_jsn_.at(name).count("range") > 0) { - if (setting_jsn_.at(name).at("range").at(i) == opt_name) + for (size_t i = 0; i < setting_jsn_.at(name).at("range").size(); i++) { - setting_jsn_.at(name).at("range").erase(i); - break; + if (setting_jsn_.at(name).at("range").at(i) == opt_name) + { + setting_jsn_.at(name).at("range").erase(i); + break; + } } } }