From 47a4bcf464c9153fdf4ff957cc14de6cc95b69eb Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 29 May 2026 07:55:16 +0000 Subject: repository: Returning nil sets repo to nil and panics the defer --- repository/open.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/repository/open.go b/repository/open.go index 3562379b..622b5e43 100644 --- a/repository/open.go +++ b/repository/open.go @@ -27,21 +27,21 @@ func Open(root *os.Root) (repo *Repository, err error) { cfg, err := parseRepositoryConfig(root) if err != nil { - return nil, err + return repo, err } repo.config = cfg algo, err := detectObjectAlgorithm(cfg) if err != nil { - return nil, err + return repo, err } repo.algo = algo objects, objectsRoot, objectsPackRoot, objectsLoose, objectsPacked, err := openObjectStore(root, algo) if err != nil { - return nil, err + return repo, err } repo.objects = objects @@ -53,7 +53,7 @@ func Open(root *os.Root) (repo *Repository, err error) { commitGraph, err := openCommitGraph(objectsRoot, algo) if err != nil { - return nil, err + return repo, err } repo.commitGraph = commitGraph @@ -61,14 +61,14 @@ func Open(root *os.Root) (repo *Repository, err error) { refRoot, err := root.OpenRoot(".") if err != nil { - return nil, fmt.Errorf("repository: open root for refs: %w", err) + return repo, fmt.Errorf("repository: open root for refs: %w", err) } refs, err := reffiles.New(refRoot, algo, detectPackedRefsTimeout(cfg)) if err != nil { _ = refRoot.Close() - return nil, err + return repo, err } repo.refs = refs -- cgit v1.3.1-10-gc9f91