summaryrefslogtreecommitdiff
path: root/msm8998/hal/src/PrefixParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'msm8998/hal/src/PrefixParser.cpp')
-rw-r--r--msm8998/hal/src/PrefixParser.cpp12
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);