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>
diff --git a/util.hpp b/util.hpp
index 7e48383..de0221a 100644
--- a/util.hpp
+++ b/util.hpp
@@ -17,6 +17,7 @@
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 @@
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.