Bug 339906, r=nelson, sec_pkcs12_install_bags passes uninitialized variables

This commit is contained in:
neil.williams%sun.com 2007-01-03 23:02:12 +00:00
parent d380ca020c
commit 382bf24c53
2 changed files with 9 additions and 4 deletions

View File

@ -599,7 +599,8 @@ P12U_ExportPKCS12Object(char *nn, char *outfile, PK11SlotInfo *inSlot,
if ((SECSuccess != CERT_FilterCertListForUserCerts(certlist)) ||
CERT_LIST_EMPTY(certlist)) {
SECU_PrintError(progName,"no user certs from given nickname");
PR_fprintf(PR_STDERR, "%s: no user certs from given nickname\n",
progName);
pk12uErrno = PK12UERR_FINDCERTBYNN;
goto loser;
}

View File

@ -2824,11 +2824,15 @@ sec_pkcs12_install_bags(sec_PKCS12SafeBag **safeBags,
publicValue = sec_pkcs12_get_public_value_and_type(certList[0],
&keyType, &keyUsage);
}
rv = sec_pkcs12_add_key(keyList[i], publicValue, keyType, keyUsage,
wincx);
if(publicValue) {
if(publicValue) {
rv = sec_pkcs12_add_key(keyList[i], publicValue, keyType,
keyUsage, wincx);
SECITEM_FreeItem(publicValue, PR_TRUE);
}
else {
keyList[i]->error = SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY;
rv = SECFailure;
}
if(rv != SECSuccess) {
PORT_SetError(keyList[i]->error);
return SECFailure;