fix: use of uninitialised value - return parameter (phObject) from C_CreateObject and C_GenerateKeyPair
(In function 'pkcs15_add_object': warning: unused parameter 'pHandle') Example (C_CreateObject): Breakpoint 3, C_CreateObject (hSession=134587040, pTemplate=0x8049160, ulCount=5, phObject=0xbff55560) at pkcs11-object.c:57 57 rv = sc_pkcs11_lock(); (gdb) x/x phObject 0xbff55560: 0xffffffff (gdb) finish 0xb7f5c6c0 17:15:09.969 [opensc-pkcs11] framework-pkcs15.c:657:pkcs15_add_object: Setting object handle of 0x0 to 0x805ab80 Run till exit from #0 C_CreateObject (hSession=134587040, pTemplate=0x8049160, ulCount=5, phObject=0xbff55560) at pkcs11-object.c:57 0x080487a4 in main () Value returned is $1 = 0 (gdb) x/x 0xbff55560 0xbff55560: 0xffffffff (gdb) c Continuing. Breakpoint 4, C_DestroyObject (hSession=134587040, hObject=4294967295) at pkcs11-object.c:106 106 rv = sc_pkcs11_lock(); (gdb) p/x hObject $2 = 0xffffffff (gdb) finish Run till exit from #0 C_DestroyObject (hSession=134587040, hObject=4294967295) at pkcs11-object.c:106 0xb7f5c6c0 17:15:56.581 [opensc-pkcs11] pkcs11-object.c:110:C_DestroyObject: C_DestroyObject(hSession=0x805a2a0, hObject=0xffffffff) 0x080487cb in main () Value returned is $3 = 130 git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3944 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
66f9ccaa94
commit
723bcc41ff
|
@ -650,9 +650,12 @@ pkcs15_add_object(struct sc_pkcs11_slot *slot,
|
|||
if (list_contains(&slot->objects, obj))
|
||||
return;
|
||||
|
||||
list_append(&slot->objects, obj); // FIXME: pHandle too!
|
||||
sc_debug(context, "Setting object handle of 0x%lx to 0x%lx", obj->base.handle, (CK_OBJECT_HANDLE)obj);
|
||||
obj->base.handle = (CK_OBJECT_HANDLE)obj; // cast pointer to long
|
||||
if (pHandle != NULL)
|
||||
*pHandle = (CK_OBJECT_HANDLE)obj; /* cast pointer to long */
|
||||
|
||||
list_append(&slot->objects, obj);
|
||||
sc_debug(context, "Setting object handle of 0x%lx to 0x%lx", obj->base.handle, (CK_OBJECT_HANDLE)obj);
|
||||
obj->base.handle = (CK_OBJECT_HANDLE)obj; /* cast pointer to long */
|
||||
obj->base.flags |= SC_PKCS11_OBJECT_SEEN;
|
||||
obj->refcount++;
|
||||
|
||||
|
|
Loading…
Reference in New Issue