lib/PublicInbox/GzipFilter.pm | 3 ++- diff --git a/lib/PublicInbox/GzipFilter.pm b/lib/PublicInbox/GzipFilter.pm index e37f1f76bd4a886431224ed38aa8a3f838cc50b1..c586d2f885dfe3bcdf3aff08f4ab87f7ac5275b7 100644 --- a/lib/PublicInbox/GzipFilter.pm +++ b/lib/PublicInbox/GzipFilter.pm @@ -149,10 +149,11 @@ my $self = $_[0]; # $_[1] => final input (optional) my $zbuf = delete $self->{zbuf}; my $gz = delete $self->{gz}; my $err; - if (defined $_[1]) { + if (defined $_[1]) { # it's a bug iff $gz is undef w/ $_[1] $err = $gz->deflate($_[1], $zbuf); die "gzip->deflate: $err" if $err != Z_OK; } + $gz // return; # not a bug, recursing on DS->write failure $err = $gz->flush($zbuf); die "gzip->flush: $err" if $err != Z_OK; $zbuf;