cortex / gopass

Gopass: A simple password-store GUI
GNU General Public License v3.0
188 stars 13 forks source link

Crash on selection of nonexistent entry #24

Open lcmaqueda opened 7 years ago

lcmaqueda commented 7 years ago

The application crashes on selection of a non-existing entry:

sshot

panic: runtime error: index out of range

goroutine 1 [running, locked to thread]:
panic(0x5612926f9d80, 0xc42000c110)
    /usr/local/go/src/runtime/panic.go:500 +0x1a1
main.(*Passwords).CopyToClipboard(0x561292a66820, 0xffffffffffffffff)
    /home/xxxx/workspace/src/github.com/cortex/gopass/main.go:104 +0x142
reflect.Value.call(0x561292702320, 0x561292a66820, 0x213, 0x56129272d497, 0x4, 0xc420279ae8, 0x1, 0xa, 0x0, 0x5612926e4c80, ...)
    /usr/local/go/src/reflect/value.go:434 +0x5c8
reflect.Value.Call(0x561292702320, 0x561292a66820, 0x213, 0xc420279ae8, 0x1, 0xa, 0x561292a55320, 0xc420263e00, 0xc420263e00)
    /usr/local/go/src/reflect/value.go:302 +0xa4
github.com/cortex/gopass/vendor/github.com/limetext/qml-go.hookGoValueCallMethod(0x56129413fa10, 0x4, 0xc400000000, 0x7fff52569490)
    /home/xxxx/workspace/src/github.com/cortex/gopass/vendor/github.com/limetext/qml-go/bridge.go:628 +0x428
github.com/cortex/gopass/vendor/github.com/limetext/qml-go._cgoexpwrap_15b304d6206c_hookGoValueCallMethod(0x56129413fa10, 0x4, 0x0, 0x7fff52569490)
    ??:0 +0x47
github.com/cortex/gopass/vendor/github.com/limetext/qml-go._Cfunc_applicationExec()
    ??:0 +0x41
github.com/cortex/gopass/vendor/github.com/limetext/qml-go.RunArgs(0xc42000c290, 0x1, 0x1, 0x56129274f758, 0x8, 0x1000)
    /home/xxxx/workspace/src/github.com/cortex/gopass/vendor/github.com/limetext/qml-go/bridge.go:98 +0x24d
github.com/cortex/gopass/vendor/github.com/limetext/qml-go.Run(0x56129274f758, 0x56129272dc84, 0x7)
    /home/xxxx/workspace/src/github.com/cortex/gopass/vendor/github.com/limetext/qml-go/bridge.go:58 +0x4f
main.main()
    /home/xxxx/workspace/src/github.com/cortex/gopass/main.go:185 +0x117
lcmaqueda commented 7 years ago

Also, the value of the selection (test/foobar) corresponds to the last valid selection, and the "Test" value in the info field to the right should be removed/replaced by something else.