]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Handle failure to copy args (CIS #1517104)
authorNick Porter <nick@portercomputing.co.uk>
Wed, 30 Nov 2022 08:15:51 +0000 (08:15 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 30 Nov 2022 08:15:51 +0000 (08:15 +0000)
src/lib/server/trigger.c

index 3d35f44d89c69a24c9aa7783ea39fff72983d0fa..b5cbdbbcc434f0f5336ff34820723b74f3432479 100644 (file)
@@ -401,13 +401,15 @@ int trigger_exec(unlang_interpret_t *intp,
 
                MEM(local_args = talloc_zero(request, fr_pair_list_t));
                fr_pair_list_init(local_args);
-               fr_pair_list_copy(local_args, local_args, args);
-
-               if (request_data_add(request, &trigger_exec_main, REQUEST_INDEX_TRIGGER_ARGS, local_args,
-                                     false, false, false) < 0) {
+               if (fr_pair_list_copy(local_args, local_args, args) < 0) {
+                       PERROR("Failed copying trigger arguments");
+               args_error:
                        talloc_free(request);
                        return -1;
-               }
+               };
+
+               if (request_data_add(request, &trigger_exec_main, REQUEST_INDEX_TRIGGER_ARGS, local_args,
+                                     false, false, false) < 0) goto args_error;
        }
 
        {