@cryptotaxi247 / kubo / commits / d83374fd6

fix: handle peerstore failure case in constructor

License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>

Steven Allen committed Apr 18, 2019 at 00:33 UTC d83374fd62e6b0b50714cde5b1baa6a33568f275
1 file changed +8 -4
core/node/libp2p.go
+8 -4
@@ -84,15 +84,19 @@ var DHTOption RoutingOption = constructDHTRouting
84 var DHTClientOption RoutingOption = constructClientDHTRouting
85 var NilRouterOption RoutingOption = nilrouting.ConstructNilRouting
86
87 -func Peerstore(id peer.ID, sk crypto.PrivKey) peerstore.Peerstore {
87 +func Peerstore(id peer.ID, sk crypto.PrivKey) (peerstore.Peerstore, error) {
88 ps := pstoremem.NewPeerstore()
89
90 if sk != nil {
91 - ps.AddPrivKey(id, sk)
92 - ps.AddPubKey(id, sk.GetPublic())
91 + if err := ps.AddPubKey(id, sk.GetPublic()); err != nil {
92 + return nil, err
93 + }
94 + if err := ps.AddPrivKey(id, sk); err != nil {
95 + return nil, err
96 + }
97 }
98
95 - return ps
99 + return ps, nil
100 }
101
102 func P2PAddrFilters(cfg *config.Config) (opts Libp2pOpts, err error) {