diff options
author | Nagaraju Goruganti <ngorugan@in.ibm.com> | 2017-10-31 04:40:12 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-11-06 18:12:21 +0000 |
commit | 98fc5881eefde10312b057eaed659f8d3138efa4 (patch) | |
tree | 4a48bc7b4cadd6bd73deb2a50ca16b48dfa83a37 | |
parent | d75f0497cd92042d4e2dba8662df9ff7e661d0be (diff) | |
download | phosphor-networkd-98fc5881eefde10312b057eaed659f8d3138efa4.tar.gz phosphor-networkd-98fc5881eefde10312b057eaed659f8d3138efa4.zip |
Fix MAC Address validation
MAC Address validate method is retruning true for address:
00:00:00:00:00:00 which is an invalid address.
Resolves openbmc/openbmc#2333
Change-Id: Ida6c84855abeb11c95673087a8b361f151b0a3bc
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
-rw-r--r-- | util.hpp | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -17,6 +17,7 @@ constexpr auto IPV4_MAX_PREFIX_LENGTH = 32; constexpr auto IPV6_MAX_PREFIX_LENGTH = 64; constexpr auto IPV4_PREFIX = "169.254"; constexpr auto IPV6_PREFIX = "fe80"; +constexpr auto ZEROMACADDRESS = "00:00:00:00:00:00"; namespace mac_address { @@ -35,7 +36,8 @@ constexpr size_t size = 18; inline bool validate(const std::string& value) { std::regex regexToCheck(regex); - return std::regex_search(value, regexToCheck); + return std::regex_search(value, regexToCheck) && + value.find(ZEROMACADDRESS) != 0; } /** @brief gets the MAC address from the Inventory. |