]> git.ipfire.org Git - thirdparty/freeradius-server.git/commit
rewrite tmpl_to_atype()
authorAlan T. DeKok <aland@freeradius.org>
Sun, 27 Apr 2025 12:56:46 +0000 (08:56 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sun, 27 Apr 2025 12:56:46 +0000 (08:56 -0400)
commitf1d8bab36b18109c7cf2f101073860f939e54fbb
tree0f5735de6b5ce05005821de812eb7dab9ea2b334
parentee29f6c3a39d98115b642a36e889b5c909aac68d
rewrite tmpl_to_atype()

There is a weird corner case where it returns an error without
printing any complaints.  But only for ubuntu-24-linux-gcc-ndebug.

https://github.com/FreeRADIUS/freeradius-server/actions/runs/14692203645/job/41229053000#step:10:2949

The input is a tmpl type data, with data type time_delta.
The output is a fr_time_delta_t.
Both clang scan and coverity think that everything is fine.
All runs with ubsan / asan / lsan don't show errors.

Yet it still fails, but only on one platform.  And consistently.

Since all attempts at debugging have failed, the solution is to
change the code so that it more clearly separates out the various
paths.  Another result is that it does less copying of intermediate
boxes.
src/lib/server/tmpl_eval.c