Initialize IPv6 scope in ip_ptonx
authorNikolai Kondrashov <Nikolai.Kondrashov@redhat.com>
Thu, 6 Mar 2014 13:41:18 +0000 (15:41 +0200)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 6 Mar 2014 14:29:28 +0000 (14:29 +0000)
commit33eeb6c4420f97f6088edd9e63b7527841d7641e
tree17fa170206b48609fe09506e0d4e60c062ae9c02
parent7b611fc8440478b009c04243cbbc2bd2f757d3d0
Initialize IPv6 scope in ip_ptonx

Set IPv6 address scope ID (fr_ip_addr_t.scope) to zero in ip_ptonx.

This avoids possible random %{getclient:<ipaddr>.foo} IPv6 client lookup
failures due to the scope ID being uninitialized, but then used in
fr_ipaddr_cmp, invoked by client_find, used in xlat_getclient.

The issue was found during a Coverity scan of 3.0.1 and reported as
follows:

freeradius-server-3.0.1/src/main/mainconfig.c:374: var_decl: Declaring variable "ip" without initializer.
freeradius-server-3.0.1/src/main/mainconfig.c:394: uninit_use_in_call: Using uninitialized value "ip". Field "ip.scope" is uninitialized when calling "client_find(RADCLIENT_LIST const *, fr_ipaddr_t const *, int)".
freeradius-server-3.0.1/src/main/client.c:466:3: read_parm: Reading a parameter value.
src/lib/misc.c