From f7f66ea11faf8fd9b419460dc11947c792e02331 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 11 Jul 2008 19:18:34 +0000 Subject: Phil Pennock: 25275: use restrictive permissions on cache files put zstat in example zshrc --- Completion/Base/Utility/_store_cache | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'Completion/Base/Utility') diff --git a/Completion/Base/Utility/_store_cache b/Completion/Base/Utility/_store_cache index cb6e8d3b1..86e72e9a9 100644 --- a/Completion/Base/Utility/_store_cache +++ b/Completion/Base/Utility/_store_cache @@ -13,7 +13,11 @@ if zstyle -t ":completion:${curcontext}:" use-cache; then if [[ -e "$_cache_dir" ]]; then _message "cache-dir style points to a non-directory\!" else - (zmodload zsh/files 2>/dev/null; mkdir -p "$_cache_dir" ) + # if module load fails, we *should* be okay using normal mkdir so + # we load feature b:mkdir instead of b:zf_mkdir; note that modules + # loaded in a sub-shell don't affect the parent. + ( zmodload -F zsh/files b:mkdir; mkdir -m 0700 -p "$_cache_dir" + ) 2>/dev/null if [[ ! -d "$_cache_dir" ]]; then _message "couldn't create cache-dir $_cache_dir" return 1 @@ -27,7 +31,9 @@ if zstyle -t ":completion:${curcontext}:" use-cache; then if [[ -e "$_cache_ident_dir" ]]; then _message "cache ident dir points to a non-directory:$_cache_ident_dir" else - (zmodload zsh/files 2>/dev/null; mkdir -p "$_cache_ident_dir") + # See also rationale in zmodload above + ( zmodload -F zsh/files b:mkdir; mkdir -m 0700 -p "$_cache_ident_dir" + ) 2>/dev/null if [[ ! -d "$_cache_ident_dir" ]]; then _message "couldn't create cache-ident_dir $_cache_ident_dir" return 1 -- cgit 1.4.1