Alon Bar-Lev wrote: > OK. > Thanks. > I added similar solution. > > Excellent, thanks. Any idea when the next version of pkcs11-helper is released?
cheers, JJK / Jan Just Keijser > On Wed, Feb 23, 2011 at 12:41 PM, Jan Just Keijser <janj...@nikhef.nl> wrote: > >> hi all, >> >> there's an OpenVPN bug report that is traced back to an issue with >> pkcs11h_logout; it seems that if you call this function before >> initializing the pkcs11 libs then it segfaults. I've added a line >> pkcs11h_logout() >> to the tests/test-basic/test-basic.c file from the pkcs11-helper 1.07 >> tree and can reproduce this behaviour. The offending pieceof code is >> >> 1058 CK_RV >> 1059 pkcs11h_logout (void) { >> 1060 _pkcs11h_session_t current_session = NULL; >> 1061 CK_RV rv = CKR_OK; >> 1062 >> 1063 _PKCS11H_DEBUG ( >> 1064 PKCS11H_LOG_DEBUG2, >> 1065 "PKCS#11: pkcs11h_logout entry" >> 1066 ); >> 1067 >> 1068 for ( >> 1069 current_session = _g_pkcs11h_data->sessions; >> 1070 current_session != NULL; >> 1071 current_session = current_session->next >> 1072 ) { >> 1073 CK_RV _rv; >> >> >> A simple pointer check solves the issue: >> >> --- pkcs11-helper-1.07/lib/pkcs11h-core.c 2009-02-27 >> 04:04:36.000000000 +0100 >> +++ pkcs11-helper-1.07jjk/lib/pkcs11h-core.c 2011-02-23 >> 11:39:14.000000000 +0100 >> @@ -1065,6 +1065,10 @@ >> "PKCS#11: pkcs11h_logout entry" >> ); >> >> + if (_g_pkcs11h_data == NULL) { >> + return rv; >> + } >> + >> for ( >> current_session = _g_pkcs11h_data->sessions; >> current_session != NULL; >> >> I hope someone can incorporate this patch into the pkcs11-helper sources. >> >> thx, >> >> JJK / Jan Just Keijser >> >> _______________________________________________ >> opensc-devel mailing list >> opensc-devel@lists.opensc-project.org >> http://www.opensc-project.org/mailman/listinfo/opensc-devel >> _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel