From owner-svn-src-all@FreeBSD.ORG Tue Jan 7 16:01:22 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AF6749C5; Tue, 7 Jan 2014 16:01:22 +0000 (UTC) Received: from mail.ipfw.ru (mail.ipfw.ru [IPv6:2a01:4f8:120:6141::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 72B191440; Tue, 7 Jan 2014 16:01:22 +0000 (UTC) Received: from v6.mpls.in ([2a02:978:2::5] helo=ws.su29.net) by mail.ipfw.ru with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.76 (FreeBSD)) (envelope-from ) id 1W0VGI-000LnX-QO; Tue, 07 Jan 2014 15:55:58 +0400 Message-ID: <52CC24B6.2050009@FreeBSD.org> Date: Tue, 07 Jan 2014 20:00:54 +0400 From: "Alexander V. Chernikov" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130728 Thunderbird/17.0.7 MIME-Version: 1.0 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r260394 - in head/sys: dev/firewire net References: <201401071559.s07FxX16075251@svn.freebsd.org> In-Reply-To: <201401071559.s07FxX16075251@svn.freebsd.org> X-Enigmail-Version: 1.5.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jan 2014 16:01:22 -0000 On 07.01.2014 19:59, Alexander V. Chernikov wrote: > Author: melifaro > Date: Tue Jan 7 15:59:33 2014 > New Revision: 260394 > URL: http://svnweb.freebsd.org/changeset/base/260394 > > Log: > Teach every SIOCGIFSTATUS provider to fill in ifs->ascii anyway. > Remove old bits of data concat for 'ascii' field. > Remove special SIOCGIFSTATUS handling from if.c (which Coverity yells at). > > Reported by: Coverity > Coverity CID: 1147174 Actually this is CID 1017861. > MFC after: 2 weeks > > Modified: > head/sys/dev/firewire/if_fwe.c > head/sys/net/if.c > head/sys/net/if_tap.c > head/sys/net/if_tun.c > > Modified: head/sys/dev/firewire/if_fwe.c > ============================================================================== > --- head/sys/dev/firewire/if_fwe.c Tue Jan 7 14:03:42 2014 (r260393) > +++ head/sys/dev/firewire/if_fwe.c Tue Jan 7 15:59:33 2014 (r260394) > @@ -403,7 +403,7 @@ fwe_ioctl(struct ifnet *ifp, u_long cmd, > { > struct fwe_softc *fwe = ((struct fwe_eth_softc *)ifp->if_softc)->fwe; > struct ifstat *ifs = NULL; > - int s, error, len; > + int s, error; > > switch (cmd) { > case SIOCSIFFLAGS: > @@ -434,12 +434,8 @@ fwe_ioctl(struct ifnet *ifp, u_long cmd, > case SIOCGIFSTATUS: > s = splimp(); > ifs = (struct ifstat *)data; > - len = strlen(ifs->ascii); > - if (len < sizeof(ifs->ascii)) > - snprintf(ifs->ascii + len, > - sizeof(ifs->ascii) - len, > - "\tch %d dma %d\n", > - fwe->stream_ch, fwe->dma_ch); > + snprintf(ifs->ascii, sizeof(ifs->ascii), > + "\tch %d dma %d\n", fwe->stream_ch, fwe->dma_ch); > splx(s); > break; > case SIOCSIFCAP: > > Modified: head/sys/net/if.c > ============================================================================== > --- head/sys/net/if.c Tue Jan 7 14:03:42 2014 (r260393) > +++ head/sys/net/if.c Tue Jan 7 15:59:33 2014 (r260394) > @@ -2088,7 +2088,6 @@ static int > ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) > { > struct ifreq *ifr; > - struct ifstat *ifs; > int error = 0; > int new_flags, temp_flags; > size_t namelen, onamelen; > @@ -2425,9 +2424,6 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, > break; > > case SIOCGIFSTATUS: > - ifs = (struct ifstat *)data; > - ifs->ascii[0] = '\0'; > - > case SIOCGIFPSRCADDR: > case SIOCGIFPDSTADDR: > case SIOCGIFMEDIA: > > Modified: head/sys/net/if_tap.c > ============================================================================== > --- head/sys/net/if_tap.c Tue Jan 7 14:03:42 2014 (r260393) > +++ head/sys/net/if_tap.c Tue Jan 7 15:59:33 2014 (r260394) > @@ -636,12 +636,12 @@ tapifioctl(struct ifnet *ifp, u_long cmd > > case SIOCGIFSTATUS: > ifs = (struct ifstat *)data; > - dummy = strlen(ifs->ascii); > mtx_lock(&tp->tap_mtx); > - if (tp->tap_pid != 0 && dummy < sizeof(ifs->ascii)) > - snprintf(ifs->ascii + dummy, > - sizeof(ifs->ascii) - dummy, > + if (tp->tap_pid != 0) > + snprintf(ifs->ascii, sizeof(ifs->ascii), > "\tOpened by PID %d\n", tp->tap_pid); > + else > + ifs->ascii[0] = '\0'; > mtx_unlock(&tp->tap_mtx); > break; > > > Modified: head/sys/net/if_tun.c > ============================================================================== > --- head/sys/net/if_tun.c Tue Jan 7 14:03:42 2014 (r260393) > +++ head/sys/net/if_tun.c Tue Jan 7 15:59:33 2014 (r260394) > @@ -546,8 +546,10 @@ tunifioctl(struct ifnet *ifp, u_long cmd > ifs = (struct ifstat *)data; > mtx_lock(&tp->tun_mtx); > if (tp->tun_pid) > - sprintf(ifs->ascii + strlen(ifs->ascii), > + snprintf(ifs->ascii, sizeof(ifs->ascii), > "\tOpened by PID %d\n", tp->tun_pid); > + else > + ifs->ascii[0] = '\0'; > mtx_unlock(&tp->tun_mtx); > break; > case SIOCSIFADDR: >