From 02be2175bedbbb43a5bd8826d4a9f2020098a3ac Mon Sep 17 00:00:00 2001 From: Xpl0itU <24777100+Xpl0itU@users.noreply.github.com> Date: Tue, 2 Apr 2024 16:29:48 +0200 Subject: [PATCH] Fix oversight --- downloader.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/downloader.go b/downloader.go index db3c693..148ad9b 100644 --- a/downloader.go +++ b/downloader.go @@ -100,30 +100,31 @@ func downloadFile(ctx context.Context, progressReporter ProgressReporter, client default: n, err := resp.Body.Read(buffer) if err != nil && err != io.EOF { + resp.Body.Close() + file.Close() if doRetries && attempt < maxRetries { time.Sleep(retryDelay) isError = true break Loop } - resp.Body.Close() - file.Close() return fmt.Errorf("download error after %d attempts: %+v", attempt, err) } if n == 0 { resp.Body.Close() + file.Close() break Loop } _, err = file.Write(buffer[:n]) if err != nil { + resp.Body.Close() + file.Close() if doRetries && attempt < maxRetries { time.Sleep(retryDelay) isError = true break Loop } - resp.Body.Close() - file.Close() return fmt.Errorf("write error after %d attempts: %+v", attempt, err) }