Date: Wed, 19 Dec 2012 23:52:19 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Gleb Smirnoff <glebius@FreeBSD.org> Cc: Monthadar Al Jaberi <monthadar@FreeBSD.org>, svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r244389 - head/sys/dev/wtap Message-ID: <20121219234351.A1351@besplex.bde.org> In-Reply-To: <20121218085306.GK94420@FreeBSD.org> References: <201212180844.qBI8ixdX097633@svn.freebsd.org> <20121218085306.GK94420@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 18 Dec 2012, Gleb Smirnoff wrote: > On Tue, Dec 18, 2012 at 08:44:59AM +0000, Monthadar Al Jaberi wrote: > ... > M> Modified: head/sys/dev/wtap/if_wtap.c > M> ============================================================================== > M> --- head/sys/dev/wtap/if_wtap.c Tue Dec 18 08:41:23 2012 (r244388) > M> +++ head/sys/dev/wtap/if_wtap.c Tue Dec 18 08:44:59 2012 (r244389) > M> @@ -334,6 +334,10 @@ wtap_vap_create(struct ieee80211com *ic, > M> vap = (struct ieee80211vap *) avp; > M> error = ieee80211_vap_setup(ic, vap, name, unit, IEEE80211_M_MBSS, > M> flags | IEEE80211_CLONE_NOBEACONS, bssid, mac); > M> + if (error) { > M> + free((struct wtap_vap*) vap, M_80211_VAP); > M> + return NULL; > M> + } > M> > M> /* override various methods */ > M> avp->av_recv_mgmt = vap->iv_recv_mgmt; > > You don't need to cast first argument of free(9). And you don't need a cast > before malloc(9) as well. A cast might be needed if free()'s arg is a point to constant storage. This is not the case here. > ... > Also, more stylish would be to supply to free() the same variable that was > assigned at malloc(9) call, in this particular case it is "avp". Another style bug is associated with this. free() does's take args of type struct wtap_vap*. Casting to that converts vap back to the type of avp, but not to either original type returned by malloc() or the type taken by free(). Also, in KNF: - casts are not followed by a space - '*' (in almost all contexts, including the above) is preceded by a space. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121219234351.A1351>