NetUtils: Check for NPE in getDefaultHostIp method when processing nic/mac

On hosts or containers where they don't have valid mac address on nic resulting
in null, NetUtils.getNetworkParam can throw NPE.

This was a case found on TravisCI where OpenVZ containers are used. This method
(getDefaultHostIp) is used at several other places within the ACS codebase to
get the host IP and if null is caught we fallback to localhost or 127.0.0.1, so
we therefore set info to null before trying to process network param and if we
fail we return null and expect other layers to use localhost.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2014-08-21 11:35:38 +02:00
parent e3b3a18aef
commit 7ada4ad50b
1 changed files with 6 additions and 1 deletions

View File

@ -191,7 +191,12 @@ public class NetUtils {
return null;
}
String[] info = NetUtils.getNetworkParams(nic);
String[] info = null;
try {
info = NetUtils.getNetworkParams(nic);
} catch (NullPointerException ignored) {
s_logger.debug("Caught NullPointerException when trying to getDefaultHostIp");
}
if (info != null) {
return info[0];
}