From: Arran Cudbard-Bell Date: Fri, 29 Jan 2021 19:24:45 +0000 (+0000) Subject: Don't crash if env_pairs are NULL X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fa3f07cb6f8f8a759cc4ee775127edd333b37fd;p=thirdparty%2Ffreeradius-server.git Don't crash if env_pairs are NULL --- diff --git a/src/lib/server/exec.c b/src/lib/server/exec.c index e50353f3c4..63d560e9a7 100644 --- a/src/lib/server/exec.c +++ b/src/lib/server/exec.c @@ -628,7 +628,7 @@ int fr_exec_nowait(request_t *request, fr_value_box_t *vb, fr_pair_list_t *env_p /* * Get the environment variables. */ - if (!fr_pair_list_empty(env_pairs)) { + if (!env_pairs || !fr_pair_list_empty(env_pairs)) { MEM(envp = talloc_zero_array(request, char *, MAX_ENVP)); fr_exec_pair_to_env(request, env_pairs, envp, MAX_ENVP, true); } else { diff --git a/src/lib/util/pair.h b/src/lib/util/pair.h index 99b62f60de..725109566e 100644 --- a/src/lib/util/pair.h +++ b/src/lib/util/pair.h @@ -181,9 +181,9 @@ void fr_pair_steal(TALLOC_CTX *ctx, fr_pair_t *vp); void fr_pair_list_free(fr_pair_list_t *list); /** @hidecallergraph */ -bool fr_pair_list_empty(fr_pair_list_t const *list); +bool fr_pair_list_empty(fr_pair_list_t const *list) CC_HINT(nonnull); -size_t fr_pair_list_len(fr_pair_list_t const *list); +size_t fr_pair_list_len(fr_pair_list_t const *list) CC_HINT(nonnull); /* Searching and list modification */ int fr_pair_to_unknown(fr_pair_t *vp);