@cryptotaxi247 / kubo / commits / 3f63e50c5

fix(peer): use error-checking multiaddr method

License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

Brian Tiger Chow committed Dec 7, 2014 at 23:57 UTC 3f63e50c547feaaf93eef639380a610fb71b572f
3 files changed +16 -4
core/commands/swarm.go
+5 -1
@@ -149,8 +149,12 @@ func splitAddresses(addrs []string) (maddrs []ma.Multiaddr, pids []peer.ID, err
149 if err != nil {
150 return nil, nil, cmds.ClientError("invalid peer address: " + err.Error())
151 }
152 + id, err := peer.DecodePrettyID(path.Base(addr))
153 + if err != nil {
154 + return nil, nil, err
155 + }
156 + pids[i] = id
157 maddrs[i] = a
153 - pids[i] = peer.DecodePrettyID(path.Base(addr))
158 }
159 return
160 }
core/core.go
+5 -1
@@ -265,7 +265,11 @@ func initConnections(ctx context.Context, cfg *config.Config, pstore peer.Peerst
265 }
266
267 // setup peer
268 - npeer, err := pstore.Get(peer.DecodePrettyID(p.PeerID))
268 + id, err := peer.DecodePrettyID(p.PeerID)
269 + if err != nil {
270 + // return err
271 + }
272 + npeer, err := pstore.Get(id)
273 if err != nil {
274 log.Criticalf("Bootstrapping error: %v", err)
275 continue
peer/peer.go
+6 -2
@@ -37,8 +37,12 @@ func (id ID) Pretty() string {
37 }
38
39 // DecodePrettyID returns a b58-encoded string of the ID
40 -func DecodePrettyID(s string) ID {
41 - return b58.Decode(s)
40 +func DecodePrettyID(s string) (ID, error) {
41 + m, err := mh.FromB58String(s)
42 + if err != nil {
43 + return nil, err
44 + }
45 + return ID(m), err
46 }
47
48 // IDFromPubKey retrieves a Public Key from the peer given by pk