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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to