Date: Tue, 18 Dec 2012 17:16:09 +0100 From: Monthadar Al Jaberi <monthadar@gmail.com> 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: <CA%2BsBSoKFY6JdfDTZQBdruzM7JamuRyTVqBq3gp3ybHSv2UfuCQ@mail.gmail.com> In-Reply-To: <20121218131300.GP94420@FreeBSD.org> References: <201212180844.qBI8ixdX097633@svn.freebsd.org> <20121218085306.GK94420@FreeBSD.org> <CA%2BsBSoLh1juy9DvVY9bv8oi%2BcHLWnrmV8pwO_3BgKAMmk9PZsw@mail.gmail.com> <20121218131300.GP94420@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 18, 2012 at 2:13 PM, Gleb Smirnoff <glebius@freebsd.org> wrote: > On Tue, Dec 18, 2012 at 12:30:53PM +0100, Monthadar Al Jaberi wrote: > M> On Tue, Dec 18, 2012 at 9:53 AM, Gleb Smirnoff <glebius@freebsd.org> wrote: > M> > Monthadar, > M> > > M> > On Tue, Dec 18, 2012 at 08:44:59AM +0000, Monthadar Al Jaberi wrote: > M> > M> Author: monthadar > M> > M> Date: Tue Dec 18 08:44:59 2012 > M> > M> New Revision: 244389 > M> > M> URL: http://svnweb.freebsd.org/changeset/base/244389 > M> > M> > M> > M> Log: > M> > M> wtap should check if ieee80211_vap_setup fails. > M> > M> > M> > M> * If ieee80211_vap_setup fails, we free allocated M_80211_VAP > M> > M> memory and return NULL; > M> > M> > M> > M> Approved by: adrian (mentor) > M> > M> > M> > M> Modified: > M> > M> head/sys/dev/wtap/if_wtap.c > M> > M> > M> > M> Modified: head/sys/dev/wtap/if_wtap.c > M> > M> ============================================================================== > M> > M> --- head/sys/dev/wtap/if_wtap.c Tue Dec 18 08:41:23 2012 (r244388) > M> > M> +++ head/sys/dev/wtap/if_wtap.c Tue Dec 18 08:44:59 2012 (r244389) > M> > M> @@ -334,6 +334,10 @@ wtap_vap_create(struct ieee80211com *ic, > M> > M> vap = (struct ieee80211vap *) avp; > M> > M> error = ieee80211_vap_setup(ic, vap, name, unit, IEEE80211_M_MBSS, > M> > M> flags | IEEE80211_CLONE_NOBEACONS, bssid, mac); > M> > M> + if (error) { > M> > M> + free((struct wtap_vap*) vap, M_80211_VAP); > M> > M> + return NULL; > M> > M> + } > M> > M> > M> > M> /* override various methods */ > M> > M> avp->av_recv_mgmt = vap->iv_recv_mgmt; > M> > > M> > You don't need to cast first argument of free(9). And you don't need a cast > M> > before malloc(9) as well. > M> > > M> > If you are calling malloc(9) with M_NOWAIT, you need to check return result. > M> > > M> > Also, more stylish would be to supply to free() the same variable that was > M> > assigned at malloc(9) call, in this particular case it is "avp". > M> > > M> > Patch attached. > M> > M> Thank you for the patch, I can commit it for you, if you havn't done it yet? > > Please commit, I'm not confident with wtap. Done, thank you! > > -- > Totus tuus, Glebius. -- Monthadar Al Jaberi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BsBSoKFY6JdfDTZQBdruzM7JamuRyTVqBq3gp3ybHSv2UfuCQ>