@@ -164,14 +164,17 @@ if_sockaddr_active(struct ctx *ctx, const char *if_name,
164164{
165165#ifdef IFLR_ACTIVE
166166 const struct sockaddr_dl * sdl = (const void * )sa ;
167- struct if_laddrreq iflr = { .flags = IFLR_PREFIX };
167+ struct if_laddrreq iflr = {
168+ .flags = IFLR_PREFIX ,
169+ .prefixlen = (unsigned int )sdl -> sdl_alen * NBBY ,
170+ };
168171
169172 strlcpy (iflr .iflr_name , if_name , sizeof (iflr .iflr_name ));
170173 memcpy (& iflr .addr , sa , MIN (sa -> sa_len , sizeof (iflr .addr )));
171- iflr . flags = IFLR_PREFIX ;
172- iflr . prefixlen = ( unsigned int ) sdl -> sdl_alen * NBBY ;
173- if ( ioctl ( ctx -> ctx_pf_link_fd , SIOCGLIFADDR , & iflr ) == -1 ||
174- !(iflr .flags & IFLR_ACTIVE ))
174+
175+ if ( ioctl ( ctx -> ctx_pf_link_fd , SIOCGLIFADDR , & iflr ) == -1 )
176+ return 0 ;
177+ if ( !(iflr .flags & IFLR_ACTIVE ))
175178 return 0 ;
176179#else
177180 UNUSED (ctx );
@@ -330,7 +333,8 @@ if_findifpfromcmsg(struct ctx *ctx, struct msghdr *msg, void *to)
330333
331334 if (unpriv_learnif (ifp ) == -1 ) {
332335 logerr ("%s: unpriv_learnif" , __func__ );
333- if_free (ifp );
336+ /* Avoid neededless checks */
337+ free (ifp );
334338 return NULL ;
335339 }
336340
@@ -345,7 +349,7 @@ if_findifpfromcmsg(struct ctx *ctx, struct msghdr *msg, void *to)
345349 }
346350 }
347351 if (ifp -> if_flags & IF_ACTIVE ) {
348- loginfox ("%s: activated interface (%d)" , ifp -> if_name ,
352+ logdebugx ("%s: activated interface (%d)" , ifp -> if_name ,
349353 ifp -> if_index );
350354 if (dhcpsd_configure_pools (ifp ) == -1 ) {
351355 logerr ("%s: dhcpsd_configure_pools" ,
0 commit comments