]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add checks that tmpl expansion created a value
authorNick Porter <nick@portercomputing.co.uk>
Mon, 7 Jul 2025 15:03:47 +0000 (16:03 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Mon, 7 Jul 2025 15:37:12 +0000 (16:37 +0100)
src/lib/unlang/limit.c
src/modules/rlm_ldap/groups.c

index 5a1291e1da6ac3ca8fb52630126965db7f37592a..1dc6c90031ff15552b997a0e4bb7d58624d321fd 100644 (file)
@@ -88,6 +88,7 @@ static unlang_action_t unlang_limit_xlat_done(unlang_result_t *p_result, request
        unlang_frame_state_limit_t      *state = talloc_get_type_abort(frame->state, unlang_frame_state_limit_t);
        fr_value_box_t                  *box = fr_value_box_list_head(&state->result);
 
+       if (unlikely(!box)) RETURN_UNLANG_FAIL;
        /*
         *      compile_limit() ensures that the tmpl is cast to uint32, so we don't have to do any more work here.
         */
index 12a5e576be06a1f30bd1d54f1fa677c80592a166..b54d231a8a0017a0de5f691866cfaaf127b49f2d 100644 (file)
@@ -580,7 +580,7 @@ static unlang_action_t ldap_cacheable_groupobj_start(unlang_result_t *p_result,
 
        filter = fr_value_box_list_head(&group_ctx->expanded_filter);
 
-       if (filter->type != FR_TYPE_STRING) RETURN_UNLANG_FAIL;
+       if (!filter || filter->type != FR_TYPE_STRING) RETURN_UNLANG_FAIL;
 
        group_ctx->attrs[0] = inst->group.obj_name_attr;
        return fr_ldap_trunk_search(group_ctx, &group_ctx->query, request, group_ctx->ttrunk,