summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwchang0222%aol.com <devnull@localhost>2003-11-13 16:10:45 +0000
committerwchang0222%aol.com <devnull@localhost>2003-11-13 16:10:45 +0000
commit324b229f4d1251216f4f15164ac6dd2ff0b3dacc (patch)
tree75def19bf9e66990a6cf019f45730273457266c6
parent28654ac9693b0cc70ee73bfd7b1dcc1ea6dd1878 (diff)
downloadnss-hg-324b229f4d1251216f4f15164ac6dd2ff0b3dacc.tar.gz
Bugzilla bug 225373: the return value of CERT_NameToAscii must be freed
with PORT_Free. Modified Files: cmd/lib/secutil.c cmd/selfserv/selfserv.c cmd/signver/pk7print.c cmd/strsclnt/strsclnt.c cmd/tstclnt/tstclnt.c lib/certdb/cert.h
-rw-r--r--security/nss/cmd/lib/secutil.c5
-rw-r--r--security/nss/cmd/selfserv/selfserv.c4
-rw-r--r--security/nss/cmd/signver/pk7print.c1
-rw-r--r--security/nss/cmd/strsclnt/strsclnt.c4
-rw-r--r--security/nss/cmd/tstclnt/tstclnt.c4
-rw-r--r--security/nss/lib/certdb/cert.h5
6 files changed, 13 insertions, 10 deletions
diff --git a/security/nss/cmd/lib/secutil.c b/security/nss/cmd/lib/secutil.c
index 4fda3703b..5556a55ac 100644
--- a/security/nss/cmd/lib/secutil.c
+++ b/security/nss/cmd/lib/secutil.c
@@ -1719,10 +1719,11 @@ SECU_PrintExtensions(FILE *out, CERTCertExtension **extensions,
void
SECU_PrintName(FILE *out, CERTName *name, char *msg, int level)
{
+ char *nameStr;
char *str;
SECItem my;
- str = CERT_NameToAscii(name);
+ str = nameStr = CERT_NameToAscii(name);
if (!str)
str = "!Invalid AVA!";
my.data = (unsigned char *)str;
@@ -1734,7 +1735,7 @@ SECU_PrintName(FILE *out, CERTName *name, char *msg, int level)
fprintf(out, str);
secu_Newline(out);
#endif
- PORT_Free(str);
+ PORT_Free(nameStr);
}
void
diff --git a/security/nss/cmd/selfserv/selfserv.c b/security/nss/cmd/selfserv/selfserv.c
index d10b1dc04..f223c71c6 100644
--- a/security/nss/cmd/selfserv/selfserv.c
+++ b/security/nss/cmd/selfserv/selfserv.c
@@ -381,11 +381,11 @@ printSecurityInfo(PRFileDesc *fd)
char * sp = CERT_NameToAscii(&cert->subject);
if (sp) {
FPRINTF(stderr, "selfserv: subject DN: %s\n", sp);
- PR_Free(sp);
+ PORT_Free(sp);
}
if (ip) {
FPRINTF(stderr, "selfserv: issuer DN: %s\n", ip);
- PR_Free(ip);
+ PORT_Free(ip);
}
CERT_DestroyCertificate(cert);
cert = NULL;
diff --git a/security/nss/cmd/signver/pk7print.c b/security/nss/cmd/signver/pk7print.c
index d29ed6345..2b19df1d1 100644
--- a/security/nss/cmd/signver/pk7print.c
+++ b/security/nss/cmd/signver/pk7print.c
@@ -214,6 +214,7 @@ sv_PrintName(FILE *out, CERTName *name, char *msg)
str = CERT_NameToAscii(name);
fprintf(out, "%s%s\n", msg, str);
+ PORT_Free(str);
}
diff --git a/security/nss/cmd/strsclnt/strsclnt.c b/security/nss/cmd/strsclnt/strsclnt.c
index 3892db9c5..81972d139 100644
--- a/security/nss/cmd/strsclnt/strsclnt.c
+++ b/security/nss/cmd/strsclnt/strsclnt.c
@@ -320,11 +320,11 @@ printSecurityInfo(PRFileDesc *fd)
char * sp = CERT_NameToAscii(&cert->subject);
if (sp) {
fprintf(stderr, "strsclnt: subject DN: %s\n", sp);
- PR_Free(sp);
+ PORT_Free(sp);
}
if (ip) {
fprintf(stderr, "strsclnt: issuer DN: %s\n", ip);
- PR_Free(ip);
+ PORT_Free(ip);
}
}
if (cert) {
diff --git a/security/nss/cmd/tstclnt/tstclnt.c b/security/nss/cmd/tstclnt/tstclnt.c
index f4e257046..951d91fdb 100644
--- a/security/nss/cmd/tstclnt/tstclnt.c
+++ b/security/nss/cmd/tstclnt/tstclnt.c
@@ -189,11 +189,11 @@ void printSecurityInfo(PRFileDesc *fd)
char * sp = CERT_NameToAscii(&cert->subject);
if (sp) {
fprintf(stderr, "subject DN: %s\n", sp);
- PR_Free(sp);
+ PORT_Free(sp);
}
if (ip) {
fprintf(stderr, "issuer DN: %s\n", ip);
- PR_Free(ip);
+ PORT_Free(ip);
}
CERT_DestroyCertificate(cert);
cert = NULL;
diff --git a/security/nss/lib/certdb/cert.h b/security/nss/lib/certdb/cert.h
index 3d22ccb2f..56650a137 100644
--- a/security/nss/lib/certdb/cert.h
+++ b/security/nss/lib/certdb/cert.h
@@ -66,13 +66,14 @@ extern CERTName *CERT_AsciiToName(char *string);
/*
** Convert an CERTName into its RFC1485 encoded equivalent.
+** Returns a string that must be freed with PORT_Free().
*/
extern char *CERT_NameToAscii(CERTName *name);
extern CERTAVA *CERT_CopyAVA(PRArenaPool *arena, CERTAVA *src);
/* convert an OID to dotted-decimal representation */
-/* Returns a string that must be freed with PR_smprintf_free(), */
+/* Returns a string that must be freed with PR_smprintf_free(). */
extern char * CERT_GetOidString(const SECItem *oid);
/*
@@ -923,7 +924,7 @@ extern CERTCrlDistributionPoints * CERT_FindCRLDistributionPoints
(CERTCertificate *cert);
/* Returns value of the keyUsage extension. This uses PR_Alloc to allocate
-** buffer for the decoded value, The caller should free up the storage
+** buffer for the decoded value. The caller should free up the storage
** allocated in value->data.
*/
extern SECStatus CERT_FindKeyUsageExtension (CERTCertificate *cert,