diff options
author | Jussi Kivilinna <[email protected]> | 2022-03-07 18:54:34 +0000 |
---|---|---|
committer | Jussi Kivilinna <[email protected]> | 2022-03-08 18:03:08 +0000 |
commit | 49c6e583945263497064109697237701977689c3 (patch) | |
tree | e5bf38dd097ae3a54927200bf2a20dd0a34a099c /g10/compress-bz2.c | |
parent | iobuf: add zerocopy optimization for iobuf_write (diff) | |
download | gnupg-49c6e583945263497064109697237701977689c3.tar.gz gnupg-49c6e583945263497064109697237701977689c3.zip |
gpg: fix --enarmor with zero length source file
* common/iobuf.c (filter_flush): Remove "src_len == 0" check.
* g10/compress-bz2.c (do_compress): Exit early if flush not
forced and input length is zero.
* g10/compress.c (do_compress): Likewise.
--
Remove "(src_len == 0)" check in filter_flush which was
introduced to fix compress failure caused by zero length
flush from iobuf_close. However this check broke enarmoring
file with length of zero. Patch instead fixes zero length
flush problem in compress filters.
GnuPG-bug-id: T5828
Signed-off-by: Jussi Kivilinna <[email protected]>
Diffstat (limited to 'g10/compress-bz2.c')
-rw-r--r-- | g10/compress-bz2.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/g10/compress-bz2.c b/g10/compress-bz2.c index 45aa40dfc..2c3b86f8f 100644 --- a/g10/compress-bz2.c +++ b/g10/compress-bz2.c @@ -66,6 +66,9 @@ do_compress(compress_filter_context_t *zfx, bz_stream *bzs, int flush, IOBUF a) int zrc; unsigned n; + if (flush == BZ_RUN && bzs->avail_in == 0) + return 0; + do { bzs->next_out = zfx->outbuf; |