diff options
| author | David Crawshaw <crawshaw@tailscale.com> | 2021-05-18 13:25:43 -0700 |
|---|---|---|
| committer | David Crawshaw <crawshaw@tailscale.com> | 2021-05-18 13:29:40 -0700 |
| commit | 0c55ab0ce2a505545a3ea2302d9fa22fb435a843 (patch) | |
| tree | e7c3117f745e3652f0e71fb4463965af036aa719 /ipn/message.go | |
| parent | 85df1b0fa7d565f5b3deddd825fd08eafbd71632 (diff) | |
| download | tailscale-crawshaw/newbackendserver.tar.xz tailscale-crawshaw/newbackendserver.zip | |
ipn: allow b to be nil in NewBackendServercrawshaw/newbackendserver
A couple of code paths in ipnserver use a NewBackendServer with a nil
backend just to call the callback with an encapsulated error message.
This covers a panic case seen in logs.
For #1920
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
Diffstat (limited to 'ipn/message.go')
| -rw-r--r-- | ipn/message.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ipn/message.go b/ipn/message.go index d8b7d1396..fb5638eca 100644 --- a/ipn/message.go +++ b/ipn/message.go @@ -104,7 +104,9 @@ func NewBackendServer(logf logger.Logf, b Backend, sendNotifyMsg func(Notify)) * b: b, sendNotifyMsg: sendNotifyMsg, } - if sendNotifyMsg != nil { + // b may be nil if the BackendServer is being created just to + // encapsulate and send an error message. + if sendNotifyMsg != nil && b != nil { b.SetNotifyCallback(bs.send) } return bs |
