Fix invalid/double free if PKCS#11 token does not include CA certs
Fix invalid/double free if PKCS#11 token does not include CA certs

Commit b06b862f5 ("Include supporting certificates from PKCS#11 tokens")
calls gnutls_free() on an invalid 't.data' value if
gnutls_pkcs11_get_raw_issuer() returns an error, and calls
gnutls_x509_crt_deinit() twice on 'issuer' if gnutls_x509_crt_import()
returns an error.

If the Issuer cert is not available on the PKCS#11 token,
then gnutls_pkcs11_get_raw_issuer() fails and the call to
gnutls_free(t.data) causes libc to print the following message then
kill the process:
*** Error in `/usr/sbin/openconnect': double free or corruption
(!prev): 0x0000555555c69ff0 ***

Signed-off-by: Paul Donohue <46f1a0bd5592a2f9244ca321b129902a06b53e03@PaulSD.com>
Signed-off-by: David Woodhouse <b460d66aaf00c296a3db1c1d9eeafc081d5f7d70@intel.com>

brandt/openconnect,liiir1985/openconnect,mveplus/openconnect-client,mtmiller/openconnect,nmav/openconnect-mine,cernekee/openconnect,lins05/openconnect,lins05/openconnect,lins05/openconnect,mveplus/openconnect-client,cernekee/openconnect,mveplus/openconnect-client,mveplus/openconnect-client,nmav/openconnect-mine,nmav/openconnect-mine,brandt/openconnect,don-johnny/openconnect,liiir1985/openconnect,mtmiller/openconnect,atyndall/openconnect,mtmiller/openconnect,don-johnny/openconnect,atyndall/openconnect,atyndall/openconnect,matlockx/openconnect,brandt/openconnect,don-johnny/openconnect,cernekee/openconnect,mtmiller/openconnect,nmav/openconnect-mine,matlockx/openconnect,lins05/openconnect,cernekee/openconnect,liiir1985/openconnect,matlockx/openconnect,matlockx/openconnect,don-johnny/openconnect,brandt/openconnect,atyndall/openconnect,liiir1985/openconnect