The fix should be different. I pushed it to git. Thank you.
On Fri, Apr 18, 2025 at 12:21 PM <[email protected]> wrote: > > From: Maks Mishin <[email protected]> > > The initial condition with the OR operator does not guarantee > that the pointer ci will be non-zero when dereferencing, > for example, in iproute.c:314: `if (ci->rta_expires)`. > For fix this, the OR operator is replaced by the AND operator. > > The trigger was found using the Svace static analyzer. > > Signed-off-by: Maks Mishin <[email protected]> > --- > networking/libiproute/iproute.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c > index cd77f642f..0f803dd1b 100644 > --- a/networking/libiproute/iproute.c > +++ b/networking/libiproute/iproute.c > @@ -307,7 +307,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl > *who UNUSED_PARAM, > if (tb[RTA_CACHEINFO]) { > ci = RTA_DATA(tb[RTA_CACHEINFO]); > } > - if ((r->rtm_flags & RTM_F_CLONED) || (ci && ci->rta_expires)) > { > + if ((r->rtm_flags & RTM_F_CLONED) && (ci && ci->rta_expires)) > { > if (r->rtm_flags & RTM_F_CLONED) { > printf("%c cache ", _SL_); > } > -- > 2.43.0 > _______________________________________________ > busybox mailing list > [email protected] > https://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] https://lists.busybox.net/mailman/listinfo/busybox
