Merge pull request #1726 from tendermint/1717-panic-in-netaddress
return an error if we fail to parse external IP
This commit is contained in:
commit
dfc5aefd5f
|
@ -9,6 +9,7 @@ import (
|
|||
"bytes"
|
||||
"encoding/xml"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"net/http"
|
||||
|
@ -324,12 +325,17 @@ func (n *upnpNAT) getExternalIPAddress() (info statusInfo, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
// GetExternalAddress returns an external IP. If GetExternalIPAddress action
|
||||
// fails or IP returned is invalid, GetExternalAddress returns an error.
|
||||
func (n *upnpNAT) GetExternalAddress() (addr net.IP, err error) {
|
||||
info, err := n.getExternalIPAddress()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
addr = net.ParseIP(info.externalIpAddress)
|
||||
if addr == nil {
|
||||
err = fmt.Errorf("Failed to parse IP: %v", info.externalIpAddress)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue