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

Reply via email to