]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
exec.c: NULL deref in fr_exec_value_box_list_to_argv when argument list is empty
authorAlexander Bainbridge-Sedivy <alex.bainbridge@inkbridge.io>
Fri, 26 Jun 2026 18:28:30 +0000 (14:28 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 7 Jul 2026 14:00:32 +0000 (10:00 -0400)
src/lib/server/exec.c

index 95c873d7ea1b1963bef69419286eaa3791b7b0d9..72785d1af35bada4ba37209e16a75f50ba3a4b31 100644 (file)
@@ -58,11 +58,13 @@ int fr_exec_value_box_list_to_argv(TALLOC_CTX *ctx, char ***argv_p, fr_value_box
         *      a tainted source.
         */
        first = fr_value_box_list_head(in);
-       if (first->type == FR_TYPE_GROUP) first = fr_value_box_list_head(&first->vb_group);
        if (!first) {
+       missing:
                fr_strerror_const("No program to run");
                return -1;
        }
+       if (first->type == FR_TYPE_GROUP) first = fr_value_box_list_head(&first->vb_group);
+       if (!first) goto missing;
        if (first->tainted) {
                fr_strerror_printf("Program to run comes from tainted source - %pV", first);
                return -1;