[PATCH 2/2] shared.c: Only setenv() if value is non-null
Ferry Huberts
mailings at hupie.com
Tue Jul 26 13:18:14 CEST 2011
On 07/22/2011 05:15 PM, Lukas Fleischer wrote:
> Some setenv() implementations (e.g. the one in OpenBSD's stdlib)
> segfault if we pass a NULL value. Add an additional check to avoid this.
>
> Signed-off-by: Lukas Fleischer <cgit at cryptocrack.de>
> ---
> shared.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/shared.c b/shared.c
> index 75c4b5c..0c8ce3e 100644
> --- a/shared.c
> +++ b/shared.c
> @@ -392,7 +392,7 @@ void cgit_prepare_repo_env(struct cgit_repo * repo)
> p = env_vars;
> q = p + env_var_count;
> for (; p < q; p++)
> - if (setenv(p->name, p->value, 1))
> + if (p->value && setenv(p->name, p->value, 1))
> fprintf(stderr, warn, p->name, p->value);
> }
>
Lukas,
I don't agree with this patch.
>From cgitrc.5.txt, lines 501-503:
> If a setting is not defined for a repository and the corresponding global
> setting is also not defined (if applicable), then the corresponding
> environment variable will be an empty string.
So I'd like this differently, an empty string must be set.
--
Ferry Huberts
More information about the CGit
mailing list