]> git.ipfire.org Git - thirdparty/freeradius-server.git/commit
listen: Retrieve configuration pairs once 787/head
authorNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>
Tue, 9 Sep 2014 11:57:12 +0000 (14:57 +0300)
committerNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>
Tue, 9 Sep 2014 15:06:27 +0000 (18:06 +0300)
commite431472f4db2998aef52084ccf906e07e8eec2e7
treeca1a3fa8d4c957eca92f26c7ed5602a45f0de5c1
parent9984ca85c77282928f424127c240a4764e3dcd4f
listen: Retrieve configuration pairs once

Retrieve configuration pairs with cf_pair_find only once, before
checking their existence, in common_socket_parse. This avoids ambiguity
confusing Coverity, which otherwise reports the following issue.

Error: NULL_RETURNS (CWE-476):
freeradius-server-3.0.4rc2/src/main/listen.c:1139: returned_null: Function "cf_pair_find(CONF_SECTION const *, char const *)" returns null (checked 51 out of 54 times).
freeradius-server-3.0.4rc2/src/main/conffile.c:2353:20: return_null: Explicitly returning null.
freeradius-server-3.0.4rc2/src/main/client.c:514: example_checked: Example 1: "cf_pair_find(cs, "ipaddr")" has its value checked in "cf_pair_find(cs, "ipaddr")".
freeradius-server-3.0.4rc2/src/main/conffile.c:667: example_assign: Example 2: Assigning: "cp" = return value from "cf_pair_find(cs, p)".
freeradius-server-3.0.4rc2/src/main/conffile.c:668: example_checked: Example 2 (cont.): "cp" has its value checked in "cp".
freeradius-server-3.0.4rc2/src/main/command.c:1556: example_assign: Example 3: Assigning: "cp" = return value from "cf_pair_find(mi->cs, argv[1])".
freeradius-server-3.0.4rc2/src/main/command.c:1557: example_checked: Example 3 (cont.): "cp" has its value checked in "cp".
freeradius-server-3.0.4rc2/src/main/listen.c:103: example_assign: Example 4: Assigning: "cp" = return value from "cf_pair_find(request->listener->cs, fmt)".
freeradius-server-3.0.4rc2/src/main/listen.c:104: example_checked: Example 4 (cont.): "cp" has its value checked in "cp".
freeradius-server-3.0.4rc2/src/main/mainconfig.c:345: example_assign: Example 5: Assigning: "cp" = return value from "cf_pair_find(request->client->cs, fmt)".
freeradius-server-3.0.4rc2/src/main/mainconfig.c:346: example_checked: Example 5 (cont.): "cp" has its value checked in "cp".
freeradius-server-3.0.4rc2/src/main/listen.c:1139: var_assigned: Assigning: "cp" = null return value from "cf_pair_find(CONF_SECTION const *, char const *)".
freeradius-server-3.0.4rc2/src/main/listen.c:1142: dereference: Dereferencing a pointer that might be null "cp" when calling "cf_log_err_cp(CONF_PAIR const *, char const *, ...)".
freeradius-server-3.0.4rc2/src/main/conffile.c:2930:2: deref_parm: Directly dereferencing parameter "cp".
src/main/listen.c