Closed Bug 198452 Opened 22 years ago Closed 22 years ago

0 byte memcpys with null source

Categories

(NSS :: Libraries, defect, P3)

3.3.2
x86
All
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kirk.erickson, Assigned: bugz)

Details

(Whiteboard: 3.3.5)

Attachments

(2 files)

Filed for Pallab. Tested with NSS 3.3.2 There are 10 0 byte memcpys that happen per req., 4 of these have source address as NULL All calls are from SECITEM_DupItem and NSC_DeriveKey The stack trace is given below memcpy: size = 0, s1=904c0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xa4 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c8 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xf0 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5ddfc s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa50 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5de48 s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa68 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904a0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x168 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904ac s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x224 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ==============================================================Tested with NSS 3.3.2 There are 10 0 byte memcpys that happen per req., 4 of these have source address as NULL All calls are from SECITEM_DupItem and NSC_DeriveKey The stack trace is given below memcpy: size = 0, s1=904c0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xa4 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c8 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xf0 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5ddfc s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa50 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5de48 s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa68 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904a0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x168 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904ac s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x224 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ==============================================================Tested with NSS 3.3.2 There are 10 0 byte memcpys that happen per req., 4 of these have source address as NULL All calls are from SECITEM_DupItem and NSC_DeriveKey The stack trace is given below memcpy: size = 0, s1=904c0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xa4 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c8 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xf0 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5ddfc s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa50 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5de48 s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa68 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904a0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x168 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904ac s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x224 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ==============================================================Tested with NSS 3.3.2 There are 10 0 byte memcpys that happen per req., 4 of these have source address as NULL All calls are from SECITEM_DupItem and NSC_DeriveKey The stack trace is given below memcpy: size = 0, s1=904c0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xa4 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c8 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xf0 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5ddfc s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa50 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5de48 s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa68 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904a0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x168 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904ac s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x224 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ==============================================================Tested with NSS 3.3.2 There are 10 0 byte memcpys that happen per req., 4 of these have source address as NULL All calls are from SECITEM_DupItem and NSC_DeriveKey The stack trace is given below memcpy: size = 0, s1=904c0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xa4 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c8 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateDigestContext+0x50 ......../lib/libssl3.so:ssl3_InitState+0xf0 ......../lib/libssl3.so:ssl3_HandleV2ClientHello+0x28 ......../lib/libssl3.so:ssl2_HandleClientHelloMessage+0xc0 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5ddfc s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa50 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=f5de48 s2=fd51f670 ......../lib/libnss3.so:NSC_DeriveKey+0xa68 ......../lib/libnss3.so:pk11_DeriveWithTemplate+0x29c ......../lib/libnss3.so:PK11_Derive+0x20 ......../lib/libssl3.so:ssl3_GenerateSessionKeys+0x398 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x44 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904a0 s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x168 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904ac s2=0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CreateContextBySymKey+0x48 ......../lib/libssl3.so:ssl3_InitPendingCipherSpec+0x224 ......../lib/libssl3.so:ssl3_HandleRSAClientKeyExchange+0xe4 ......../lib/libssl3.so:ssl3_HandleClientKeyExchange+0xb4 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x44c ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x84 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904d8 s2=904c0 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x3c ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ============================================================== memcpy: size = 0, s1=904c4 s2=904c8 ......../lib/libnss3.so:SECITEM_DupItem+0x6c ......../lib/libnss3.so:pk11_CreateNewContextInSlot+0xc8 ......../lib/libnss3.so:PK11_CloneContext+0x20 ......../lib/libssl3.so:ssl3_ComputeHandshakeHashes+0x64 ......../lib/libssl3.so:ssl3_SendFinished+0x60 ......../lib/libssl3.so:ssl3_HandleFinished+0x20c ......../lib/libssl3.so:ssl3_HandleHandshakeMessage+0x468 ......../lib/libssl3.so:ssl3_HandleHandshake+0x148 ......../lib/libssl3.so:ssl3_HandleRecord+0x3ec ......../lib/libssl3.so:ssl3_GatherCompleteHandshake+0x58 ......../lib/libssl3.so:ssl_GatherRecord1stHandshake+0x20 ......../lib/libssl3.so:ssl_Do1stHandshake+0x54 ......../lib/libssl3.so:ssl_SecureRecv+0x138 ......../lib/libssl3.so:ssl_Recv+0x68 ==============================================================
taking bug
Assignee: wtc → ian.mcgreer
Attached patch patch for tipSplinter Review
Comment on attachment 120728 [details] [diff] [review] patch for tip Note that pkcs11 contexts need to have parameters set, even if they are not empty. To avoid both the zero-byte memcpy and a wasted malloc, I create a static set of NULL params.
Attachment #120728 - Flags: review?(relyea)
This patch has the exact same content as the other patch, but applies cleanly to the 3.3 branch (some things moved around).
Comment on attachment 120728 [details] [diff] [review] patch for tip looks good.
Attachment #120728 - Flags: review?(relyea) → review+
fixed on tip: Checking in pk11wrap/pk11skey.c; /cvsroot/mozilla/security/nss/lib/pk11wrap/pk11skey.c,v <-- pk11skey.c new revision: 1.66; previous revision: 1.65 done Checking in softoken/pkcs11c.c; /cvsroot/mozilla/security/nss/lib/softoken/pkcs11c.c,v <-- pkcs11c.c new revision: 1.49; previous revision: 1.48 done and 3.3 branch: Checking in pk11wrap/pk11skey.c; /cvsroot/mozilla/security/nss/lib/pk11wrap/pk11skey.c,v <-- pk11skey.c new revision: 1.20.2.6; previous revision: 1.20.2.5 done Checking in softoken/pkcs11c.c; /cvsroot/mozilla/security/nss/lib/softoken/pkcs11c.c,v <-- pkcs11c.c new revision: 1.13.2.4; previous revision: 1.13.2.3 done
Status: NEW → RESOLVED
Closed: 22 years ago
OS: Linux → All
Priority: -- → P3
Resolution: --- → FIXED
Whiteboard: 3.3.5
Target Milestone: --- → 3.9
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: