| 
      
      
      From: David W. <dw...@in...> - 2015-05-14 09:16:02
      
     | 
| On Wed, 2015-03-25 at 23:55 +0100, Frank Morgner wrote:
> I'd like to add #403 to the list of minor fixes, so we now have the
> following issues on the todo list:
> 
> #395
> #399
> #403
Is this one already known?
[dwoodhou@i7 tools]$ ./pkcs11-tool -t --login
Using slot 1 with a present token (0x1)
Segmentation fault (core dumped)
Program received signal SIGSEGV, Segmentation fault.
sc_transmit_apdu (card=card@entry=0x622fb0, apdu=apdu@entry=0xffff800000002fa1)
    at apdu.c:567
567             sc_detect_apdu_cse(card, apdu);
(gdb) p apdu
$1 = (sc_apdu_t *) 0xffff800000002fa1
(gdb) p *apdu
Cannot access memory at address 0xffff800000002fa1
(gdb) bt
#0  sc_transmit_apdu (card=card@entry=0x622fb0, 
    apdu=apdu@entry=0xffff800000002fa1) at apdu.c:567
#1  0x00007ffff7c8a30b in iso7816_pin_cmd (card=0x622fb0, data=0x7fffffffad40, 
    tries_left=0x0) at iso7816.c:1094
#2  0x00007ffff7c82df4 in sc_pin_cmd (card=0x622fb0, data=0x7fffffffad40, 
    tries_left=0x0) at sec.c:161
#3  0x00007ffff7a03469 in C_GetTokenInfo (slotID=1, pInfo=0x7fffffffd070)
    at framework-pkcs15.c:500
#4  0x000000000040696e in get_token_info (slot=<optimized out>, 
    info=info@entry=0x7fffffffd070) at pkcs11-tool.c:2944
#5  0x0000000000406e06 in login (session=6564752, login_type=1)
    at pkcs11-tool.c:1113
#6  0x000000000040301c in main (argc=<optimized out>, argv=<optimized out>)
    at pkcs11-tool.c:796
[dwoodhou@i7 tools]$ LD_LIBRARY_PATH=/ssd/git/OpenSC/src/libopensc/.libs valgrind .libs/pkcs11-tool --login -t
==8491== Memcheck, a memory error detector
==8491== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==8491== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==8491== Command: .libs/pkcs11-tool --login -t
==8491== 
==8491== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==8491==    at 0x3841A0F9CD: send (send.c:27)
==8491==    by 0x3848E06E50: MessageSend (winscard_msg.c:389)
==8491==    by 0x3848E06F67: MessageSendWithHeader (winscard_msg.c:328)
==8491==    by 0x3848E02B56: SCardConnect (winscard_clnt.c:831)
==8491==    by 0x4C5A382: pcsc_detect_readers (reader-pcsc.c:1091)
==8491==    by 0x4C2EA8F: sc_ctx_detect_readers (ctx.c:634)
==8491==    by 0x4C2F543: sc_context_create (ctx.c:757)
==8491==    by 0x53FBC2B: C_Initialize (pkcs11-global.c:229)
==8491==    by 0x402E65: main (pkcs11-tool.c:690)
==8491==  Address 0xffeffec06 is on thread 1's stack
==8491==  in frame #3, created by SCardConnect (winscard_clnt.c:780)
==8491== 
Using slot 1 with a present token (0x1)
==8491== Conditional jump or move depends on uninitialised value(s)
==8491==    at 0x4C3C1EF: iso7816_pin_cmd (iso7816.c:1084)
==8491==    by 0x4C34DF3: sc_pin_cmd (sec.c:161)
==8491==    by 0x540C468: C_GetTokenInfo (framework-pkcs15.c:500)
==8491==    by 0x40696D: get_token_info (pkcs11-tool.c:2944)
==8491==    by 0x406E05: login (pkcs11-tool.c:1113)
==8491==    by 0x40301B: main (pkcs11-tool.c:796)
==8491== 
==8491== Conditional jump or move depends on uninitialised value(s)
==8491==    at 0x4C3F9BD: sc_transmit_apdu (apdu.c:560)
==8491==    by 0x4C3C30A: iso7816_pin_cmd (iso7816.c:1094)
==8491==    by 0x4C34DF3: sc_pin_cmd (sec.c:161)
==8491==    by 0x540C468: C_GetTokenInfo (framework-pkcs15.c:500)
==8491==    by 0x40696D: get_token_info (pkcs11-tool.c:2944)
==8491==    by 0x406E05: login (pkcs11-tool.c:1113)
==8491==    by 0x40301B: main (pkcs11-tool.c:796)
==8491== 
==8491== Use of uninitialised value of size 8
==8491==    at 0x4C3F9F2: sc_detect_apdu_cse (apdu.c:363)
==8491==    by 0x4C3F9F2: sc_transmit_apdu (apdu.c:567)
==8491==    by 0x4C3C30A: iso7816_pin_cmd (iso7816.c:1094)
==8491==    by 0x4C34DF3: sc_pin_cmd (sec.c:161)
==8491==    by 0x540C468: C_GetTokenInfo (framework-pkcs15.c:500)
==8491==    by 0x40696D: get_token_info (pkcs11-tool.c:2944)
==8491==    by 0x406E05: login (pkcs11-tool.c:1113)
==8491==    by 0x40301B: main (pkcs11-tool.c:796)
-- 
dwmw2
 |