OK. Thanks. I added similar solution.
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