From 427552fcb34d117635225bb30836bbbae7d61590 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 19 Feb 2021 00:58:31 +0000 Subject: lei_to_mail: Maildir: ensure link(2) succeeds link(2) may fail with errors other than EEXIST; just bail out since something is likely seriously wrong. --- lib/PublicInbox/LeiToMail.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index f0adc44f..8a2d9471 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -302,8 +302,9 @@ sub _buf2maildir { $rand = ''; do { $final = $dst.$rand.$common.':2,'.$sfx; - } while (!link($tmp, $final) && $! == EEXIST && + } while (!($ok = link($tmp, $final)) && $! == EEXIST && ($rand = _rand.',')); + die "link($tmp, $final): $!" unless $ok; unlink($tmp) or warn "W: failed to unlink $tmp: $!\n"; } else { my $err = "Error writing $smsg->{blob} to $dst: $!\n"; -- cgit v1.2.3-24-ge0c7