svn commit: r298655 - head/sys/kgssapi

Alan Somers asomers at freebsd.org
Tue Apr 26 20:24:45 UTC 2016


You really ought to.  When you MFC yourself, it reduces the likelihood of
errors, because you understand the change best.  When someone else does it,
it's more likely he'll make a mistake, because he may not know the fine
details behind the change.  In fact, it's hard for anybody else to even
know that a given change should or shouldn't be MFCed.  The MFC reminder
emails only go to the committer, not to everyone.  And when someone
unfamiliar with kgssapi looks at a commit message like the one below, he
doesn't know whether there's no MFC tag because the change isn't applicable
to stable/10, or because the committer forgot it, or because the committer
just "doesn't do stable".

Please help maintain stable/10.  It's everyone's job.
-Alan

On Tue, Apr 26, 2016 at 1:23 PM, Conrad Meyer <cem at freebsd.org> wrote:

> Nope!  I don't do stable/.
>
> On Tue, Apr 26, 2016 at 12:06 PM, Alan Somers <asomers at 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 at 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;
>>>
>>>
>>
>


More information about the svn-src-head mailing list