Erro GPG: “do_plaintext: escreveu X bytes, mas esperava que fossem Y bytes”

1

Estou com problemas para usar gpg quando uso a sintaxe <() para substituição de processo .

Aqui está um exemplo de funcionamento mínimo do meu problema:

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

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

Quando o arquivo de entrada é menor que 73729 bytes, não recebo o erro. (No computador do meu amigo, o tamanho máximo do arquivo era 65535 bytes. Notei que 73729 está muito próximo de 65535 + 2 ^ 13, não tenho certeza se isso é relevante.)

No entanto, funciona quando eu uso a substituição de processo baseada em pipe:

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

Isso é um bug ou estou fazendo algo errado com a sintaxe <() ?

Aqui está o arquivo no código fonte do GPG no GitHub , onde o erro aparece.

Aqui está a minha versão do 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

Obrigado pela sua ajuda!

    
por ConvexMartian 19.03.2018 / 00:12

0 respostas