[PATCHES] fix a couple of memory leaks
Richard Sharpe
realrichardsharpe at gmail.com
Mon Jul 4 02:15:30 UTC 2016
On Sun, Jul 3, 2016 at 7:14 PM, Richard Sharpe
<realrichardsharpe at gmail.com> wrote:
> On Sun, Jul 3, 2016 at 1:23 PM, Uri Simchoni <uri at samba.org> wrote:
>> Hi,
>>
>> Attached are fixes to a couple of memory leaks. Found by Valgrind by
>> running "net ads testjoin", but since they are both in connection
>> establishment code paths, the memory is also probably leaked by winbindd.
>>
>> Review & push appreciated.
>
> This bit looks quite ugly:
>
> @@ -257,11 +257,8 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
> *keytype = KRB5_KEY_TYPE(subkey);
> krb5_free_keyblock(NULL /* should be krb5_contex
> t */, subkey);
> } else
> -#else
> - {
> - *keytype = 0;
> - }
> #endif
> + *keytype = 0;
> gss_maj = gss_release_buffer_set(&gss_min, &set);
>
> return NT_STATUS_OK;
>
> Could be hoist the *keytype = 0 to before the #ifdef? Something like this?
>
> diff --git a/auth/kerberos/gssapi_pac.c b/auth/kerberos/gssapi_pac.c
> index 685d0ec..0d0b4ee 100644
> --- a/auth/kerberos/gssapi_pac.c
> +++ b/auth/kerberos/gssapi_pac.c
> @@ -246,6 +246,7 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
> int diflen, i;
> const uint8_t *p;
>
> + *keytype = 0;
> if (set->count < 2) {
>
> #ifdef HAVE_GSSKRB5_GET_SUBKEY
> @@ -256,11 +257,7 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
> if (gss_maj == 0) {
> *keytype = KRB5_KEY_TYPE(subkey);
> krb5_free_keyblock(NULL /* should be
> krb5_context */, subkey);
> - } else
> -#else
> - {
> - *keytype = 0;
> - }
> + }
> #endif
> gss_maj = gss_release_buffer_set(&gss_min, &set);
>
> That seems to simplify the #ifdef stuff ...
The second chunk seems totally uncontroversial.
--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)
More information about the samba-technical
mailing list