From 1bc65e1bdc8c075eb605cd35b63c593a471b5b34 Mon Sep 17 00:00:00 2001 From: "Steffen (Daode) Nurpmeso" Date: Fri, 8 Sep 2017 18:56:54 +0200 Subject: [PATCH] a_amv_var_lookup(): error log on empty environment variable (Norman Ramsey) --- accmacvar.c | 3 +++ shexp.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/accmacvar.c b/accmacvar.c index 085d9da7..ca32e53c 100644 --- a/accmacvar.c +++ b/accmacvar.c @@ -1184,6 +1184,7 @@ a_amv_var_lookup(struct a_amv_var_carrier *avcp, bool_t i3val_nonew){ if(n_UNLIKELY((avmp->avm_flags & (a_AMV_VF_IMPORT | a_AMV_VF_ENV)) != 0)){ if(n_LIKELY((cp = getenv(avcp->avc_name)) != NULL)){ /* May be better not to use that one, though? */ + /* TODO Outsource the tests into a _shared_ test function! */ bool_t isempty, isbltin; isempty = (*cp == '\0' && @@ -1192,6 +1193,8 @@ a_amv_var_lookup(struct a_amv_var_carrier *avcp, bool_t i3val_nonew){ ) != 0); if(n_UNLIKELY(isempty)){ + n_err(_("Environment variable must not be empty: %s\n"), + avcp->avc_name); if(!isbltin) goto jerr; }else if(n_LIKELY(*cp != '\0')){ diff --git a/shexp.c b/shexp.c index 9da491d3..42f2c5bf 100644 --- a/shexp.c +++ b/shexp.c @@ -358,8 +358,12 @@ a_shexp__glob(struct a_shexp_glob_ctx *sgcp, struct n_strlist **slpp){ case n_ERR_ACCES: ccp = N_("file permission for file (sub)pattern denied"); goto jerr; + case n_ERR_NFILE: + case n_ERR_MFILE: + ccp = N_("file descriptor limit reached, cannot open directory"); + goto jerr; default: - ccp = N_("cannot handle file (sub)pattern"); + ccp = N_("cannot open path component as directory"); goto jerr; } } -- 2.11.4.GIT