Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Apr 2016 12:23:28 -0700
From:      Conrad Meyer <cem@FreeBSD.org>
To:        Alan Somers <asomers@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r298655 - head/sys/kgssapi
Message-ID:  <CAG6CVpXwjgzonCNPx0RSFTUcrzxQ4ygLOawVBRbdfhyiK2uFuw@mail.gmail.com>
In-Reply-To: <CAOtMX2ifk28h%2B4N_um1haz_eqhhZf1VPeGWW%2BRosv9czi-8maA@mail.gmail.com>
References:  <201604261811.u3QIBjrE092471@repo.freebsd.org> <CAOtMX2ifk28h%2B4N_um1haz_eqhhZf1VPeGWW%2BRosv9czi-8maA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Nope!  I don't do stable/.

On Tue, Apr 26, 2016 at 12:06 PM, Alan Somers <asomers@freebsd.org> wrote:

> Nice catch.  Will you be MFCing this to stable/10?
>
> On Tue, Apr 26, 2016 at 12:11 PM, Conrad E. Meyer <cem@freebsd.org> wrote:
>
>> Author: cem
>> Date: Tue Apr 26 18:11:45 2016
>> New Revision: 298655
>> URL: https://svnweb.freebsd.org/changeset/base/298655
>>
>> Log:
>>   kgssapi: Don't leak memory in error cases
>>
>>   Reported by:  Coverity
>>   CIDs:         1007046, 1007047, 1007048
>>   Sponsored by: EMC / Isilon Storage Division
>>
>> Modified:
>>   head/sys/kgssapi/gssd_prot.c
>>
>> Modified: head/sys/kgssapi/gssd_prot.c
>>
>> ==============================================================================
>> --- head/sys/kgssapi/gssd_prot.c        Tue Apr 26 18:08:51 2016
>> (r298654)
>> +++ head/sys/kgssapi/gssd_prot.c        Tue Apr 26 18:11:45 2016
>> (r298655)
>> @@ -101,8 +101,10 @@ xdr_gss_OID(XDR *xdrs, gss_OID *oidp)
>>                 } else {
>>                         oid = mem_alloc(sizeof(gss_OID_desc));
>>                         memset(oid, 0, sizeof(*oid));
>> -                       if (!xdr_gss_OID_desc(xdrs, oid))
>> +                       if (!xdr_gss_OID_desc(xdrs, oid)) {
>> +                               mem_free(oid, sizeof(gss_OID_desc));
>>                                 return (FALSE);
>> +                       }
>>                         *oidp = oid;
>>                 }
>>                 break;
>> @@ -164,8 +166,10 @@ xdr_gss_OID_set(XDR *xdrs, gss_OID_set *
>>                 } else {
>>                         set = mem_alloc(sizeof(gss_OID_set_desc));
>>                         memset(set, 0, sizeof(*set));
>> -                       if (!xdr_gss_OID_set_desc(xdrs, set))
>> +                       if (!xdr_gss_OID_set_desc(xdrs, set)) {
>> +                               mem_free(set, sizeof(gss_OID_set_desc));
>>                                 return (FALSE);
>> +                       }
>>                         *setp = set;
>>                 }
>>                 break;
>> @@ -224,8 +228,10 @@ xdr_gss_channel_bindings_t(XDR *xdrs, gs
>>                             || !xdr_gss_buffer_desc(xdrs,
>>                                 &ch->acceptor_address)
>>                             || !xdr_gss_buffer_desc(xdrs,
>> -                               &ch->application_data))
>> +                               &ch->application_data)) {
>> +                               mem_free(ch, sizeof(*ch));
>>                                 return (FALSE);
>> +                       }
>>                         *chp = ch;
>>                 }
>>                 break;
>>
>>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpXwjgzonCNPx0RSFTUcrzxQ4ygLOawVBRbdfhyiK2uFuw>