fix: return error instead of panicking when GetInfo resolves a nil repository#520
Open
SAY-5 wants to merge 1 commit into
Open
fix: return error instead of panicking when GetInfo resolves a nil repository#520SAY-5 wants to merge 1 commit into
SAY-5 wants to merge 1 commit into
Conversation
…pository Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #511.
GetInfodereferencesresp.Repository.Idright aftercheck(err), but the GraphQLrepository(owner, name)field resolves to null when the token cannot access the repo or the owner/name is wrong, and that can come back without a top-level error. Whenresp.Repositoryis nil the dereference segfaults, which is what #511 reports on every command after the repo lookup starts failing.This guards
resp.Repositoryin both the merge-queue and normal branches and routes it through the existingcheckpath so users get a clear "repository not found; check the name and token access" message instead of a SIGSEGV. Added a unit test for the guard helper; a fullGetInfotest would need a fake for the whole generated GraphQL client, so I kept the covered logic in a small pure helper.