Skip to content

Commit 0c376e2

Browse files
committed
nilaway: ipn/warp/yegor.go dns53/dot.go
1 parent 01d8c30 commit 0c376e2

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

intra/dns53/dot_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,9 @@ func TestProtonReaches(t *testing.T) {
368368
visited := make(map[string]struct{}, 0)
369369
locs, err := win.Locations()
370370
ko(t, err)
371+
if locs == nil {
372+
t.Fatalf("expected locations for %s", win.Who())
373+
}
371374
for i := 0; i < locs.Len(); i++ {
372375
c, err := locs.Get(i)
373376
if err != nil {

intra/ipn/warp/yegor.go

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -832,7 +832,14 @@ func (a *WsClient) Locations() (x.RpnServers, error) {
832832

833833
// Update implements x.RpnAcc.
834834
func (a *WsClient) Update() (newstate *x.Gobyte, err error) {
835-
b, refreshed, err := makeWsWgFrom(a.http, a.config())
835+
if a == nil {
836+
return nil, errWsNoClient
837+
}
838+
c := a.config()
839+
if c == nil {
840+
return nil, errWsNoConfig
841+
}
842+
b, refreshed, err := makeWsWgFrom(a.http, c)
836843
if err != nil || !refreshed {
837844
log.E("ws: update: refreshed? %t; err: %v", refreshed, err)
838845
return nil, core.OneErr(err, errWsRetryUpdate)
@@ -959,10 +966,10 @@ func getSession(h *http.Client, tok string, test bool) (*WsSession, error) {
959966
authHeader(req, tok)
960967

961968
res, err := h.Do(req)
962-
if err != nil {
963-
return nil, fmt.Errorf("ws: getsess: req err: %v", err)
969+
if err != nil || res == nil {
970+
return nil, fmt.Errorf("ws: getsess: res err (nil? %t): %v", res == nil, err)
964971
}
965-
defer res.Body.Close()
972+
defer core.Close(res.Body)
966973
if res.StatusCode != http.StatusOK {
967974
return nil, wsErr(res, "getsess")
968975
}
@@ -1121,8 +1128,8 @@ func getServerList(h *http.Client, sess *WsSession, ent *WsEntitlement) (*WsServ
11211128
}
11221129

11231130
locres, err := h.Do(locreq)
1124-
if err != nil {
1125-
return nil, fmt.Errorf("ws: wgconfs: res err: %v", err)
1131+
if err != nil || locres == nil {
1132+
return nil, fmt.Errorf("ws: wgconfs: res err (nil? %t): %v", locres == nil, err)
11261133
}
11271134

11281135
defer core.Close(locres.Body)
@@ -1209,14 +1216,14 @@ initagain:
12091216

12101217
initres, err := h.Do(initreq)
12111218

1212-
if err != nil {
1213-
return nil, nil, fmt.Errorf("ws: wgconfs: res err: %v", err)
1219+
if err != nil || initres == nil {
1220+
return nil, nil, fmt.Errorf("ws: wgconfs: res err (nil? %t): %v", initres == nil, err)
12141221
}
12151222

12161223
if initres.StatusCode != http.StatusOK {
12171224
wserr, err := wsErr2(initres, "wsinit")
12181225
core.Close(initres.Body)
1219-
if wserr.Code == ekeylimit {
1226+
if wserr != nil && wserr.Code == ekeylimit {
12201227
if force != "1" {
12211228
log.I("ws: wgconfs: redo init with force for %s; err: %v", trunc8(pubkeybase64), err)
12221229
force = "1"
@@ -1283,13 +1290,13 @@ initagain:
12831290
authHeader(creq, sess.SessionAuthHash)
12841291

12851292
cres, err := h.Do(creq)
1286-
if err != nil {
1287-
return nil, nil, fmt.Errorf("ws: wgconfs: connect send err: %v", err)
1293+
if err != nil || cres == nil {
1294+
return nil, nil, fmt.Errorf("ws: wgconfs: connect res err (nil? %t): %v", cres == nil, err)
12881295
}
12891296
if cres.StatusCode != http.StatusOK {
1290-
core.Close(cres.Body)
12911297
wserr, err := wsErr2(cres, "wsconnect")
1292-
if wserr.Code == ekeyinvalid { // the key was deleted!
1298+
core.Close(cres.Body)
1299+
if wserr != nil && wserr.Code == ekeyinvalid { // the key was deleted!
12931300
if keyed == 0 {
12941301
keyed = 1
12951302
goto keyagain // try again with a non-default key
@@ -1300,7 +1307,7 @@ initagain:
13001307

13011308
var wgConnect WsWgConnectResponse
13021309
_, err = wsRes(cres, &wgConnect, "wgconfs")
1303-
core.Close(cres.Body)
1310+
defer core.Close(cres.Body)
13041311
if err != nil {
13051312
return nil, nil, fmt.Errorf("ws: wgconfs: connect res err: %v", err)
13061313
}

0 commit comments

Comments
 (0)