From e274e949e6f8fc442e8c464ff1a294edd61ba8e0 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 16 Feb 2025 02:31:16 +0800 Subject: [PATCH] *.go: Fix missing error handling --- http_handle_repo_info.go | 3 +++ http_server.go | 10 ++++++++-- misc.go | 1 + diff --git a/http_handle_repo_info.go b/http_handle_repo_info.go index 5bc0b76cae09e2384009a43ebcee19d418aa3507..4dd1c8d8f55501ecc8270ef7b19de4ce3c6a9f98 100644 --- a/http_handle_repo_info.go +++ b/http_handle_repo_info.go @@ -23,6 +23,9 @@ billy_fs := osfs.New(repo_path) fs_loader := server.NewFilesystemLoader(billy_fs) transport := server.NewServer(fs_loader) upload_pack_session, err := transport.NewUploadPackSession(endpoint, nil) + if err != nil { + return err + } advertised_references, err := upload_pack_session.AdvertisedReferencesContext(r.Context()) if err != nil { return err diff --git a/http_server.go b/http_server.go index 1a4d0a35286bd5f52ca89323724b5d7d4d80cf85..948117d0fb169d78e07f36a83ad522c4f10a7c24 100644 --- a/http_server.go +++ b/http_server.go @@ -131,9 +131,15 @@ } repo_feature := segments[separator_index+3] switch repo_feature { case "info": - handle_repo_info(w, r, params) + err = handle_repo_info(w, r, params) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } case "git-upload-pack": - handle_upload_pack(w, r, params) + err = handle_upload_pack(w, r, params) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } case "tree": params["rest"] = strings.Join(segments[separator_index+4:], "/") if len(segments) < separator_index+5 && redirect_with_slash(w, r) { diff --git a/misc.go b/misc.go index 5077b83d608267fea7000192ff1c5b8de7d021b4..558f906f05e2fb119e06f01b4d009d06a31a9fe0 100644 --- a/misc.go +++ b/misc.go @@ -13,6 +13,7 @@ var err_environ_no_separator = errors.New("No separator found in environ line") func environ_to_map(environ_strings []string) (result map[string]string, err error) { + result = make(map[string]string) for _, environ_string := range environ_strings { key, value, found := strings.Cut(environ_string, "=") if !found { -- 2.48.1