@cryptotaxi247 / kubo / commits / af5b835dc

util/ipfsaddr: recover from panics parsing

Juan Batiz-Benet committed Jan 31, 2015 at 18:13 UTC af5b835dc702b78e2f42509f31397564f92c3784
1 file changed +11 -7
util/ipfsaddr/ipfsaddr.go
+11 -7
@@ -7,8 +7,11 @@ import (
7 ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
8
9 peer "github.com/jbenet/go-ipfs/p2p/peer"
10 + eventlog "github.com/jbenet/go-ipfs/thirdparty/eventlog"
11 )
12
13 +var log = eventlog.Logger("ipfsaddr")
14 +
15 // ErrInvalidAddr signals an address is not a valid ipfs address.
16 var ErrInvalidAddr = errors.New("invalid ipfs address")
17
@@ -62,13 +65,14 @@ func ParseString(str string) (a IPFSAddr, err error) {
65
66 // ParseMultiaddr parses a multiaddr into an IPFSAddr
67 func ParseMultiaddr(m ma.Multiaddr) (a IPFSAddr, err error) {
65 - // // never panic.
66 - // defer func() {
67 - // if r := recover(); r != nil {
68 - // a = nil
69 - // err = ErrInvalidAddr
70 - // }
71 - // }()
68 + // never panic.
69 + defer func() {
70 + if r := recover(); r != nil {
71 + log.Debug("recovered from panic: ", r)
72 + a = nil
73 + err = ErrInvalidAddr
74 + }
75 + }()
76
77 if m == nil {
78 return nil, ErrInvalidAddr