Skip to content

Commit 45f2192

Browse files
lafrikslunny
authored andcommitted
Fix to close opened io resources as soon as not needed (#8839)
* Fix to close opened io resources as soon as not needed * Remove unneeded err checks
1 parent 79fd422 commit 45f2192

File tree

1 file changed

+39
-33
lines changed

1 file changed

+39
-33
lines changed

modules/migrations/gitea.go

+39-33
Original file line numberDiff line numberDiff line change
@@ -252,27 +252,30 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
252252
}
253253

254254
// download attachment
255-
resp, err := http.Get(asset.URL)
256-
if err != nil {
257-
return err
258-
}
259-
defer resp.Body.Close()
255+
err = func() error {
256+
resp, err := http.Get(asset.URL)
257+
if err != nil {
258+
return err
259+
}
260+
defer resp.Body.Close()
260261

261-
localPath := attach.LocalPath()
262-
if err = os.MkdirAll(path.Dir(localPath), os.ModePerm); err != nil {
263-
return fmt.Errorf("MkdirAll: %v", err)
264-
}
262+
localPath := attach.LocalPath()
263+
if err = os.MkdirAll(path.Dir(localPath), os.ModePerm); err != nil {
264+
return fmt.Errorf("MkdirAll: %v", err)
265+
}
265266

266-
fw, err := os.Create(localPath)
267-
if err != nil {
268-
return fmt.Errorf("Create: %v", err)
269-
}
270-
defer fw.Close()
267+
fw, err := os.Create(localPath)
268+
if err != nil {
269+
return fmt.Errorf("Create: %v", err)
270+
}
271+
defer fw.Close()
271272

272-
if _, err := io.Copy(fw, resp.Body); err != nil {
273+
_, err = io.Copy(fw, resp.Body)
274+
return err
275+
}()
276+
if err != nil {
273277
return err
274278
}
275-
276279
rel.Attachments = append(rel.Attachments, &attach)
277280
}
278281

@@ -468,21 +471,24 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
468471
}
469472

470473
// download patch file
471-
resp, err := http.Get(pr.PatchURL)
472-
if err != nil {
473-
return nil, err
474-
}
475-
defer resp.Body.Close()
476-
pullDir := filepath.Join(g.repo.RepoPath(), "pulls")
477-
if err = os.MkdirAll(pullDir, os.ModePerm); err != nil {
478-
return nil, err
479-
}
480-
f, err := os.Create(filepath.Join(pullDir, fmt.Sprintf("%d.patch", pr.Number)))
481-
if err != nil {
482-
return nil, err
483-
}
484-
defer f.Close()
485-
_, err = io.Copy(f, resp.Body)
474+
err := func() error {
475+
resp, err := http.Get(pr.PatchURL)
476+
if err != nil {
477+
return err
478+
}
479+
defer resp.Body.Close()
480+
pullDir := filepath.Join(g.repo.RepoPath(), "pulls")
481+
if err = os.MkdirAll(pullDir, os.ModePerm); err != nil {
482+
return err
483+
}
484+
f, err := os.Create(filepath.Join(pullDir, fmt.Sprintf("%d.patch", pr.Number)))
485+
if err != nil {
486+
return err
487+
}
488+
defer f.Close()
489+
_, err = io.Copy(f, resp.Body)
490+
return err
491+
}()
486492
if err != nil {
487493
return nil, err
488494
}
@@ -496,8 +502,8 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
496502
if err != nil {
497503
return nil, err
498504
}
499-
defer p.Close()
500505
_, err = p.WriteString(pr.Head.SHA)
506+
p.Close()
501507
if err != nil {
502508
return nil, err
503509
}
@@ -531,8 +537,8 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
531537
if err != nil {
532538
return nil, err
533539
}
534-
defer b.Close()
535540
_, err = b.WriteString(pr.Head.SHA)
541+
b.Close()
536542
if err != nil {
537543
return nil, err
538544
}

0 commit comments

Comments
 (0)