if( sd->clientCertNickname != NULL ) { PR_Free(sd->clientCertNickname);
if( sd->clientCert != NULL ) { CERT_DestroyCertificate(sd->clientCert);
JSSL_DestroySocketData(JNIEnv *env, JSSL_SocketData *sd){    PR_ASSERT(sd != NULL);    if( sd->fd != NULL ) {        PR_Close(sd->fd);        /* this may have thrown an exception */    }    if( sd->socketObject != NULL ) {        DELETE_WEAK_GLOBAL_REF(env, sd->socketObject );    }    if( sd->certApprovalCallback != NULL ) {        (*env)->DeleteGlobalRef(env, sd->certApprovalCallback);    }    if( sd->clientCertSelectionCallback != NULL ) {        (*env)->DeleteGlobalRef(env, sd->clientCertSelectionCallback);    }    if( sd->clientCertNickname != NULL ) {        PR_Free(sd->clientCertNickname);    }    PR_Free(sd);}