diff options
author | Vincent Bernat <vincent@bernat.ch> | 2019-02-08 11:26:32 +0100 |
---|---|---|
committer | Tad Fisher <129148+tadfisher@users.noreply.github.com> | 2020-09-12 12:46:09 -0700 |
commit | 42307e4ec3f226547e4742f25cd92aa39db53627 (patch) | |
tree | f0954cad320870f7531d0fe37bd23fb6b2308b65 /test/gnupg | |
parent | 6328ba84dba608209cece19dd08a1af76bd57fe8 (diff) | |
download | pass-otp-42307e4ec3f226547e4742f25cd92aa39db53627.tar.gz pass-otp-42307e4ec3f226547e4742f25cd92aa39db53627.zip |
Do not remove password when new line is missing
If the password file doesn't end with a new line, the last line is
ignored because `read -r` will return a non-zero status, while still
setting the `$line` variable. Some implementations of pass, like
`gopass` do not create a password file ending with a new line.
Therefore, using `pass otp append` on these files will result in the
password being remove from the file.
To fix that, we ensure we insert the new line if it is missing.
I have added a test, but this is not enough to catch the problem
because `pass` will add the new line even when it is missing (for
example, using `echo -n | pass insert -e passfile` won't help to
trigger the bug).
Diffstat (limited to 'test/gnupg')
0 files changed, 0 insertions, 0 deletions