From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5629 invoked by alias); 6 Nov 2009 14:28:03 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 27353 Received: (qmail 4522 invoked from network); 6 Nov 2009 14:28:00 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received-SPF: none (ns1.primenet.com.au: domain at bewatermyfriend.org does not designate permitted sender hosts) From: Frank Terbeck To: zsh-workers@zsh.org Subject: PATCH: PATCH: More sanity checks for vcs_info Date: Fri, 6 Nov 2009 15:24:41 +0100 Message-Id: <1257517481-20963-1-git-send-email-ft@bewatermyfriend.org> X-Mailer: git-send-email 1.6.5.rc2 X-Df-Sender: 430444 Before, this could screw you: cd /tmp; mkdir test; cd test; sudo chown root .; sudo chmod 700 . --- Functions/VCS_Info/VCS_INFO_bydir_detect | 1 + Functions/VCS_Info/vcs_info | 2 ++ 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/Functions/VCS_Info/VCS_INFO_bydir_detect b/Functions/VCS_Info/VCS_INFO_bydir_detect index 7985b69..0b5996f 100644 --- a/Functions/VCS_Info/VCS_INFO_bydir_detect +++ b/Functions/VCS_Info/VCS_INFO_bydir_detect @@ -8,6 +8,7 @@ local basedir="." realbasedir realbasedir="$(VCS_INFO_realpath ${basedir})" while [[ ${realbasedir} != '/' ]]; do + [[ -r ${realbasedir} ]] || return 1 if [[ -n ${vcs_comm[detect_need_file]} ]] ; then [[ -d ${basedir}/${dirname} ]] && \ [[ -e ${basedir}/${dirname}/${vcs_comm[detect_need_file]} ]] && \ diff --git a/Functions/VCS_Info/vcs_info b/Functions/VCS_Info/vcs_info index a821e4d..4344d0b 100644 --- a/Functions/VCS_Info/vcs_info +++ b/Functions/VCS_Info/vcs_info @@ -41,6 +41,8 @@ vcs_info () { emulate -L zsh setopt extendedglob + [[ -r . ]] || return 0 + local pat local -i found local -a enabled disabled dps -- 1.6.5.rc2