Fixed some more resource cleanup leaks in nla
authorakallabeth <akallabeth@posteo.net>
Tue, 19 May 2020 12:07:15 +0000 (14:07 +0200)
committerakallabeth <akallabeth@posteo.net>
Wed, 20 May 2020 13:41:24 +0000 (15:41 +0200)
(cherry picked from commit 354bb7d6ae98df282775d154b609a39c1068a09b)

libfreerdp/core/nla.c

index f354e04..63d77ab 100644 (file)
@@ -1144,6 +1144,7 @@ SECURITY_STATUS nla_encrypt_public_key_echo(rdpNla* nla)
        const BOOL ntlm = (_tcsncmp(nla->packageName, NTLM_SSP_NAME, ARRAYSIZE(NTLM_SSP_NAME)) == 0);
        public_key_length = nla->PublicKey.cbBuffer;
 
+       sspi_SecBufferFree(&nla->pubKeyAuth);
        if (!sspi_SecBufferAlloc(&nla->pubKeyAuth,
                                 public_key_length + nla->ContextSizes.cbSecurityTrailer))
                return SEC_E_INSUFFICIENT_MEMORY;
@@ -2465,6 +2466,7 @@ void nla_free(rdpNla* nla)
        sspi_SecBufferFree(&nla->tsCredentials);
        free(nla->ServicePrincipalName);
        nla_identity_free(nla->identity);
+       nla_buffer_free(nla);
        free(nla);
 }