-
Notifications
You must be signed in to change notification settings - Fork 3
Description
@therealssj commented on Jun 7
Describe the bug
The usb library panics when the Close function is called multiple times on the same connection
Steps to Reproduce
Steps to reproduce the behavior:
- Replace this with
hardware-wallet-go/src/skywallet/skywallet.go
Lines 656 to 668 in 55c993a
func (d *Device) GetFeatures() (wire.Message, error) {
if err := d.Connect(); err != nil {
return wire.Message{}, err
}
defer d.Disconnect()getFeaturesChunks, err := MessageGetFeatures()
if err != nil {
return wire.Message{}, err
}return d.Driver.SendToDevice(d.dev, getFeaturesChunks)
// GetFeatures send Features message to the device
func (d *Device) GetFeatures() (wire.Message, error) {
if err := d.Connect(); err != nil {
return wire.Message{}, err
}
d.dev.Close(false)
d.dev.Close(false)return wire.Message{}, nil
}
- Then execute this command
$ go run cmd/cli/cli.go features
Actual behavior
panic in usblib
Expected behavior
no panic in usblib