IPv6の対応方法がよくわからなくて困っています。
Apple提供のReachability.mがありますが、このなかでzeroAddressでReachabilityRefを取りに行っているところがあります。
このメソッドはそのまま使用していていいのでしょうか?
IPv6のアドレスに解決された場合、sockaddr_in などの変数がオーバーフローするのでは、と思っています。

+ (instancetype)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress
{
  SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr *)hostAddress);

  MVReachability* returnValue = NULL;

  if (reachability != NULL)
  {
    returnValue = [[self alloc] init];
    if (returnValue != NULL)
    {
      returnValue->_reachabilityRef = reachability;
      returnValue->_alwaysReturnLocalWiFiStatus = NO;
    }
  }
  return returnValue;
}



+ (instancetype)reachabilityForInternetConnection
{
  struct sockaddr_in zeroAddress;
  bzero(&zeroAddress, sizeof(zeroAddress));
  zeroAddress.sin_len = sizeof(zeroAddress);
  zeroAddress.sin_family = AF_INET;

  return [self reachabilityWithAddress:&zeroAddress];
}