]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't crash if env_pairs are NULL
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 29 Jan 2021 19:24:45 +0000 (19:24 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 29 Jan 2021 19:24:45 +0000 (19:24 +0000)
src/lib/server/exec.c
src/lib/util/pair.h

index e50353f3c4e774bf500a1fb43c34869f6d59358d..63d560e9a7ffbcc75173869993b72f01706f2536 100644 (file)
@@ -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 {
index 99b62f60decc3c6c2a8d7c2a4928816ebe9c14bd..725109566e3930113d303f59e1163f9c8851e670 100644 (file)
@@ -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);