# Bug: global bash variable leak on __gitcompappend

1 messages from 2015-04-07 to 2015-04-07. Participants: Marcio Almada.
Thread: https://gitlist.dev/t/39024

## Marcio Almada, 2015-04-07 08:42

Subject: Bug: global bash variable leak on __gitcompappend
Message-ID: <CAOsHV+vG9CfPTTj1AmvSU_fziFtmLCJ67QGAnV11p3y+FDCBnQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAOsHV%2BvG9CfPTTj1AmvSU_fziFtmLCJ67QGAnV11p3y%2BFDCBnQ%40mail.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


```
