GPG 错误:“do_plaintext:写入了 X 字节,但预期是 Y 字节”

GPG 错误:“do_plaintext:写入了 X 字节,但预期是 Y 字节”

gpg当我使用<()以下语法时,我遇到了问题流程替代

这是我的问题的一个最小工作示例:

$ gpg2 -c -o out.gpg <(head -c 73729 /dev/zero)

gpg: do_plaintext(): wrote 65537 bytes but expected 65536 bytes

当输入文件小于73729字节时,我不会收到错误。 (在我朋友的计算机上,最大文件大小为65535字节。我注意到 73729 非常接近 65535 + 2^13,不确定这是否相关。)

但是,当我使用基于管道的进程替换时它会起作用:

$ head -c 73729 /dev/zero | gpg2 -c -o out.gpg   

这是一个错误,还是我的语法有问题<()

这是 GitHub 上 GPG 源代码中的文件出现错误的地方。

这是我的 GPG 版本:

$ gpg --version
gpg (GnuPG) 2.2.5
libgcrypt 1.8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /Users/XXXXXXXX/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

感谢您的帮助!

相关内容