On Tue, Oct 13, 2009 at 11:12 AM, Austin English <austinengl...@gmail.com> wrote: > On Tue, Oct 13, 2009 at 8:30 AM, Vitaliy Margolen > <wine-de...@kievinfo.com> wrote: >> Henri Verbeet wrote: >>> 2009/10/13 Austin English <austinengl...@gmail.com>: >>>> cred = schan_free_handle(i, SCHAN_HANDLE_CRED); >>>> - pgnutls_certificate_free_credentials(cred->credentials); >>>> + if(cred) >>>> pgnutls_certificate_free_credentials(cred->credentials); >>> I don't think "cred" is ever supposed to be NULL. Could you add some >>> traces to see where that handle comes from? > > I'll take a look tonight.
static void *schan_free_handle(ULONG_PTR handle_idx, enum schan_handle_type type) { struct schan_handle *handle; void *object; if (handle_idx == SCHAN_INVALID_HANDLE) return NULL; if (handle_idx >= schan_handle_count) return NULL; Seems NULL comes from 'handle_idx >= schan_handle_count'. -- -Austin