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
ご協力ありがとうございます!