{"thread":{"id":"65052","subject":"[PATCH] fetch: fix wrong evaluation order in URL trailing-slash trimming","startedAt":"2026-02-23T10:07:38Z","lastAt":"2026-02-23T10:07:38Z","messageCount":1,"participants":["cuiweixie"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"536734","messageId":"20260223100728.79928-1-cuiweixie@gmail.com","threadId":"65052","inReplyTo":null,"subject":"[PATCH] fetch: fix wrong evaluation order in URL trailing-slash trimming","fromName":"cuiweixie","fromEmail":"cuiweixie@gmail.com","sentAt":"2026-02-23T10:07:28Z","receivedAt":"2026-02-23T10:07:38Z","isPatch":true,"sender":{"key":"cuiweixie@gmail.com","avatar":null},"body":"if i == -1, url[i] will be UB.\n\nSigned-off-by: cuiweixie <cuiweixie@gmail.com>\n---\n builtin/fetch.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex a3bc7e9380..306138c6e5 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -722,7 +722,7 @@ static void display_state_init(struct display_state *display_state, struct ref *\n \t\tdisplay_state->url = xstrdup(\"foreign\");\n \n \tdisplay_state->url_len = strlen(display_state->url);\n-\tfor (i = display_state->url_len - 1; display_state->url[i] == '/' && 0 <= i; i--)\n+\tfor (i = display_state->url_len - 1; 0 <= i && display_state->url[i] == '/'; i--)\n \t\t;\n \tdisplay_state->url_len = i + 1;\n \tif (4 < i && !strncmp(\".git\", display_state->url + i - 3, 4))\n-- \n2.39.5 (Apple Git-154)\n\n"}]}