diff options
Diffstat (limited to 'msm8998/hal/src/PrefixParser.cpp')
-rw-r--r-- | msm8998/hal/src/PrefixParser.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/msm8998/hal/src/PrefixParser.cpp b/msm8998/hal/src/PrefixParser.cpp index 60aae08..d38bec0 100644 --- a/msm8998/hal/src/PrefixParser.cpp +++ b/msm8998/hal/src/PrefixParser.cpp @@ -118,6 +118,9 @@ string PrefixParser::getLastErrAsStr() { /* ------------------------------ PRIVATE ----------------------------------- */ bool PrefixParser::add(vector<string> in, IP_FAM famHint) { + if (in.size() == 0) + return false; + for (size_t i = 0; i < in.size(); i++) { if (!add(in[i], famHint)) return false; @@ -126,6 +129,11 @@ bool PrefixParser::add(vector<string> in, IP_FAM famHint) { } /* add */ bool PrefixParser::add(string in, IP_FAM famHint) { + if (in.length() == 0) { + mLastErr = "Failed to parse string, length = 0..."; + return false; + } + if (famHint == IP_FAM::INVALID) famHint = guessIPFamily(in); @@ -138,8 +146,10 @@ bool PrefixParser::add(string in, IP_FAM famHint) { } int mask = parseSubnetMask(subnet, famHint); - if (!isMaskValid(mask, famHint)) + if (!isMaskValid(mask, famHint)) { + mLastErr = "Invalid mask"; return false; + } Prefix pre = makeBlankPrefix(famHint); |