[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 2.0-93-gfea1c17

Ville Skyttä ville.skytta at iki.fi
Thu Jan 24 22:07:39 UTC 2013


The following commit has been merged in the master branch:
commit fea1c178b47cf7ac95ab27c39a98e0464e19976c
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Fri Jan 25 00:06:34 2013 +0200

    Avoid sourcing dirs in completion loader to avoid fd leaks (RedHat: #903540).

diff --git a/bash_completion b/bash_completion
index 870811b..952f566 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1918,11 +1918,12 @@ complete -F _minimal ''
 # set up dynamic completion loading
 _completion_loader()
 {
-    local compdir=./completions
-    [[ $BASH_SOURCE == */* ]] && compdir="${BASH_SOURCE%/*}/completions"
+    local compfile=./completions
+    [[ $BASH_SOURCE == */* ]] && compfile="${BASH_SOURCE%/*}/completions"
+    compfile+="${1##*/}"
 
-    # Try basename.
-    . "$compdir/${1##*/}" &>/dev/null && return 124
+    # Avoid trying to source dirs; https://bugzilla.redhat.com/903540
+    [[ -f "$compfile" ]] && . "$compfile" &>/dev/null && return 124
 
     # Need to define *something*, otherwise there will be no completion at all.
     complete -F _minimal "$1" && return 124

-- 
bash-completion



More information about the Bash-completion-commits mailing list