Program: 48377
Project: 48377
Buggy source:
/** 
 * Add a VC network into BDE
 * @param na
 */
@RequestMapping(value="String_Node_Str",method=RequestMethod.POST,consumes="String_Node_Str") @ResponseStatus(HttpStatus.OK) @RestCallPointcut public void addNetworks(@RequestBody final NetworkAdd na){
  verifyInitialized();
  List<String> missingParameters=new ArrayList<String>();
  if (CommonUtil.isBlank(na.getName())) {
    missingParameters.add("String_Node_Str");
  }
  if (CommonUtil.isBlank(na.getPortGroup())) {
    missingParameters.add("String_Node_Str");
  }
  if (na.getDnsType() == null) {
    missingParameters.add("String_Node_Str");
  }
  if (na.getIsGenerateHostname() == null) {
    missingParameters.add("String_Node_Str");
  }
  if (!missingParameters.isEmpty()) {
    throw BddException.MISSING_PARAMETER(missingParameters);
  }
  if (!CommonUtil.validateResourceName(na.getName())) {
    throw BddException.INVALID_PARAMETER("String_Node_Str",na.getName());
  }
  if (!CommonUtil.validateVcResourceName(na.getPortGroup())) {
    throw BddException.INVALID_PARAMETER("String_Node_Str",na.getPortGroup());
  }
  if (!CommonUtil.validateDnsType(na.getDnsType())) {
    throw BddException.INVALID_DNS_TYPE(na.getDnsType());
  }
  if (na.getIsDhcp()) {
    networkSvc.addDhcpNetwork(na.getName(),na.getPortGroup(),na.getDnsType(),na.getIsGenerateHostname());
  }
 else {
    if (!IpAddressUtil.isValidNetmask(na.getNetmask())) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getNetmask());
    }
    long netmask=IpAddressUtil.getAddressAsLong(na.getNetmask());
    if (na.getGateway() != null && !IpAddressUtil.isValidIp(netmask,IpAddressUtil.getAddressAsLong(na.getGateway()))) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getGateway());
    }
    if (na.getDns1() != null && !IpAddressUtil.isValidIp(na.getDns1())) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getDns1());
    }
    if (na.getDns2() != null && !IpAddressUtil.isValidIp(na.getDns2())) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getDns2());
    }
    IpAddressUtil.verifyIPBlocks(na.getIpBlocks(),netmask);
    networkSvc.addIpPoolNetwork(na.getName(),na.getPortGroup(),na.getNetmask(),na.getGateway(),na.getDns1(),na.getDns2(),na.getIpBlocks(),na.getDnsType(),na.getIsGenerateHostname());
  }
}

Fixed version (ground truth):
/** 
 * Add a VC network into BDE
 * @param na
 */
@RequestMapping(value="String_Node_Str",method=RequestMethod.POST,consumes="String_Node_Str") @ResponseStatus(HttpStatus.OK) @RestCallPointcut public void addNetworks(@RequestBody final NetworkAdd na){
  verifyInitialized();
  List<String> missingParameters=new ArrayList<String>();
  if (CommonUtil.isBlank(na.getName())) {
    missingParameters.add("String_Node_Str");
  }
  if (CommonUtil.isBlank(na.getPortGroup())) {
    missingParameters.add("String_Node_Str");
  }
  if (na.getDnsType() == null) {
    missingParameters.add("String_Node_Str");
  }
  if (na.getIsGenerateHostname() == null) {
    missingParameters.add("String_Node_Str");
  }
  if (!missingParameters.isEmpty()) {
    throw BddException.MISSING_PARAMETER(missingParameters);
  }
  if (!CommonUtil.validateResourceName(na.getName())) {
    throw BddException.INVALID_PARAMETER("String_Node_Str",na.getName());
  }
  if (!CommonUtil.validateDnsType(na.getDnsType())) {
    throw BddException.INVALID_DNS_TYPE(na.getDnsType());
  }
  if (na.getIsDhcp()) {
    networkSvc.addDhcpNetwork(na.getName(),na.getPortGroup(),na.getDnsType(),na.getIsGenerateHostname());
  }
 else {
    if (!IpAddressUtil.isValidNetmask(na.getNetmask())) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getNetmask());
    }
    long netmask=IpAddressUtil.getAddressAsLong(na.getNetmask());
    if (na.getGateway() != null && !IpAddressUtil.isValidIp(netmask,IpAddressUtil.getAddressAsLong(na.getGateway()))) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getGateway());
    }
    if (na.getDns1() != null && !IpAddressUtil.isValidIp(na.getDns1())) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getDns1());
    }
    if (na.getDns2() != null && !IpAddressUtil.isValidIp(na.getDns2())) {
      throw BddException.INVALID_PARAMETER("String_Node_Str",na.getDns2());
    }
    IpAddressUtil.verifyIPBlocks(na.getIpBlocks(),netmask);
    networkSvc.addIpPoolNetwork(na.getName(),na.getPortGroup(),na.getNetmask(),na.getGateway(),na.getDns1(),na.getDns2(),na.getIpBlocks(),na.getDnsType(),na.getIsGenerateHostname());
  }
}