]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Fix two memory leaks in debug output of gnutls tools
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 18 May 2017 20:55:57 +0000 (23:55 +0300)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 18 May 2017 23:22:02 +0000 (02:22 +0300)
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
src/common.c
src/serv.c

index 9bd68c26311f5126eacf175190d7e3d6fbe9ed14..4bf7ba4f532981434e36e514c3738e6c35cefbda 100644 (file)
@@ -660,6 +660,7 @@ int print_info(gnutls_session_t session, int verbose, int flags)
                        for (i = 0; i < cb.size; i++)
                                printf("%02x", cb.data[i]);
                        printf("\n");
+                       gnutls_free(cb.data);
                }
        }
 
index d688d604cd519c1d7e1c44fbee1c88685043dc74..4bf5fd4c9c5e37cc639426cbfd1fbbc5b3d8794f 100644 (file)
@@ -509,7 +509,7 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
                    gnutls_certificate_get_peers(session, &cert_list_size);
 
                for (i = 0; i < cert_list_size; i++) {
-                       gnutls_x509_crt_t cert;
+                       gnutls_x509_crt_t cert = NULL;
                        gnutls_datum_t info;
 
                        if (gnutls_x509_crt_init(&cert) == 0 &&
@@ -539,6 +539,7 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
                                crtinfo[ncrtinfo] = '\0';
                                gnutls_free(info.data);
                        }
+                       gnutls_x509_crt_deinit(cert);
                }
        }