Gavrilov Ilia <Ilia.Gavrilov@xxxxxxxxxxx> wrote: > From: "Ilia.Gavrilov" <Ilia.Gavrilov@xxxxxxxxxxx> > > ct_sip_parse_numerical_param() returns only 0 or 1 now. > But process_register_request() and process_register_response() imply > checking for a negative value if parsing of a numerical header parameter > failed. > The invocation in nf_nat_sip() looks correct: > if (ct_sip_parse_numerical_param(...) > 0 && > ...) { ... } > > Make the return value of the function ct_sip_parse_numerical_param() > a tristate to fix all the cases > a) return 1 if value is found; *val is set > b) return 0 if value is not found; *val is unchanged > c) return -1 on error; *val is undefined > > Found by InfoTeCS on behalf of Linux Verification Center > (linuxtesting.org) with SVACE. > > Fixes: 0f32a40fc91a ("[NETFILTER]: nf_conntrack_sip: create signalling expectations") > Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxx> Reviewed-by: Florian Westphal <fw@xxxxxxxxx>