diff --git a/utils/cliutils/utils.go b/utils/cliutils/utils.go index b576d7f7a..9ce02eecd 100644 --- a/utils/cliutils/utils.go +++ b/utils/cliutils/utils.go @@ -652,10 +652,8 @@ func getLatestCliVersionFromGithubAPI() (githubVersionInfo githubResponse, err e if err != nil { return } - // Use json.Decoder with DisallowUnknownFields for safer deserialization - decoder := json.NewDecoder(bytes.NewReader(body)) - decoder.DisallowUnknownFields() - if err = decoder.Decode(&githubVersionInfo); err != nil { + // Parse the GitHub response while tolerating additional fields we do not use. + if err = json.NewDecoder(bytes.NewReader(body)).Decode(&githubVersionInfo); err != nil { return } // Validate the received version tag format diff --git a/utils/cliutils/utils_test.go b/utils/cliutils/utils_test.go index a39f45ef7..0dfd3e9bf 100644 --- a/utils/cliutils/utils_test.go +++ b/utils/cliutils/utils_test.go @@ -297,7 +297,7 @@ func TestAuthorizationHeaderInCliVersionCheck(t *testing.T) { // Return a valid JSON response w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - _, err := w.Write([]byte(`{"tag_name": "v1.0.0"}`)) + _, err := w.Write([]byte(`{"url":"https://api.github.com/repos/jfrog/jfrog-cli/releases/1","tag_name":"v1.0.0"}`)) if err != nil { return }