There is an assertion made in the FindCSP() function
located in the module appsrc\cssmobj\cspinfo.cpp that
is not always valid for removable tokens.
The line is ASSERT( hCSP ).
This assert is not appropriate in the context of a
removable hardware token which may have an entry in
the MDS but may not have a token in the slot. For
example if there is PCCARD type hardware token
installed in the machine it will be create a CSP with
subservices for each PCCARD slot in the machine
whether or not it has a token or any other PCCARD in
it. There are other parts of CDSA where this
situation is not anticipated, for example, a caller is
unable to detach from a CSP module after token is
removed (and perhaps reinserted). In this case the
module handle has to be abandoned resulting in a
resource leak. Hmmmm...
Log in to post a comment.