]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix logic bug in synchronous interpreter where it'd free yielded detached subrequests
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 8 Sep 2021 23:29:47 +0000 (18:29 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 8 Sep 2021 23:30:27 +0000 (18:30 -0500)
src/lib/unlang/interpret_synchronous.c

index 08241570233844c9cfe9722f102a695b47281be3..8cc6e7db3bf24e545054db7b00b3cc56ee572f1b 100644 (file)
@@ -268,7 +268,10 @@ rlm_rcode_t unlang_interpret_synchronous(fr_event_list_t *el, request_t *request
 
                if (sub_request == request) {
                        rcode = sub_rcode;
-               } else if (!sub_request->parent) {
+               /*
+                *      Free detached, resumable requests
+                */
+               } else if (!sub_request->parent && !unlang_interpret_is_resumable(sub_request)) {
                        talloc_free(sub_request);       /* Free detached requests */
                }