Skip to content

Commit b456187

Browse files
committed
fix(backend, transport): guard errChan sends to avoid nil error notifications
1 parent 6248356 commit b456187

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

backend/pkg/transport/transport.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,10 @@ func (transport *Transport) SendMessage(message abstraction.TransportMessage) er
275275
err = ErrUnrecognizedEvent{message.Event()}
276276
}
277277
// handlePacketEvent already sends the error through the channel, so this avoids duplicates
278-
if _, ok := err.(ErrConnClosed); !ok {
279-
transport.errChan <- err
278+
if err != nil {
279+
if _, ok := err.(ErrConnClosed); !ok {
280+
transport.errChan <- err
281+
}
280282
}
281283
return err
282284
}
@@ -368,14 +370,18 @@ func (transport *Transport) handlePacketEvent(message PacketMessage) error {
368370
// handleFileWrite writes a file through tftp to the blcu
369371
func (transport *Transport) handleFileWrite(message FileWriteMessage) error {
370372
_, err := transport.tftp.WriteFile(message.Filename(), tftp.BinaryMode, message)
371-
transport.errChan <- err
373+
if err != nil {
374+
transport.errChan <- err
375+
}
372376
return err
373377
}
374378

375379
// handleFileRead reads a file through tftp from the blcu
376380
func (transport *Transport) handleFileRead(message FileReadMessage) error {
377381
_, err := transport.tftp.ReadFile(message.Filename(), tftp.BinaryMode, message)
378-
transport.errChan <- err
382+
if err != nil {
383+
transport.errChan <- err
384+
}
379385
return err
380386
}
381387

0 commit comments

Comments
 (0)