From dfae1aee97e9ee36d1fa559ce5ff72baab1cd8ca Mon Sep 17 00:00:00 2001 From: xia-chu <771730766@qq.com> Date: Thu, 27 Jul 2023 15:29:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E7=BD=AEallow=5Fip?= =?UTF-8?q?=5Frange=E4=B8=BA=E7=A9=BA=E5=90=8E=EF=BC=8C=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E9=89=B4=E6=9D=83=E7=9B=B8=E5=85=B3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Http/HttpFileManager.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Http/HttpFileManager.cpp b/src/Http/HttpFileManager.cpp index fcf61f37..cd3ca62c 100644 --- a/src/Http/HttpFileManager.cpp +++ b/src/Http/HttpFileManager.cpp @@ -77,12 +77,21 @@ bool HttpFileManager::isIPAllowed(const std::string &ip) { IPRangs ret; auto vec = split(str, ","); for (auto &item : vec) { + if (trim(item).empty()) { + continue; + } auto range = split(item, "-"); if (range.size() == 2) { - ret.emplace_back(get_ip_uint64(trim(range[0])), get_ip_uint64(trim(range[1]))); + auto ip_min = get_ip_uint64(trim(range[0])); + auto ip_max = get_ip_uint64(trim(range[1])); + if (ip_min && ip_max) { + ret.emplace_back(ip_min, ip_max); + } } else if (range.size() == 1) { auto ip = get_ip_uint64(trim(range[0])); - ret.emplace_back(ip, ip); + if (ip) { + ret.emplace_back(ip, ip); + } } else { WarnL << "Invalid ip range: " << item; }