git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Bug: global bash variable leak on __gitcompappend

From
Marcio Almada <marcio.web2@gmail.com>
Date
Apr 7, 2015, 08:42 UTC
Message-ID
<CAOsHV+vG9CfPTTj1AmvSU_fziFtmLCJ67QGAnV11p3y+FDCBnQ@mail.gmail.com>
Hi,
This is how to reproduce the bug:

``` git checkout [tab-tab] echo $x # outputs the name of the last branch on completion list ```

Or more directly:

``` __gitcompappend "something" echo $x # outputs 'something' ```

No big deal, but it's annoying to know that `$x` is lurking.

Cheers, Márcio Almada.

From 9ff849272f80f5e21a681995ed9aecfffcaf2a87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A1rcio=20Almada?= <marcio3w@gmail.com>
Date: Tue, 7 Apr 2015 05:11:35 -0300
Subject: [PATCH] fix global bash variable leak on __gitcompappend
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index fbe5972..5944c82 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -186,7 +186,7 @@ fi
 
 __gitcompappend ()
 {
-	local i=${#COMPREPLY[@]}
+	local x i=${#COMPREPLY[@]}
 	for x in $1; do
 		if [[ "$x" == "$3"* ]]; then
 			COMPREPLY[i++]="$2$x$4"
-- 
1.9.3
Message 1 of 1 in “Bug: global bash variable leak on __gitcompappend”
  1. Marcio AlmadaApr 7, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.