summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjpierre%netscape.com <devnull@localhost>2004-04-06 21:04:04 +0000
committerjpierre%netscape.com <devnull@localhost>2004-04-06 21:04:04 +0000
commitc4d6282b5b7fdb588cbf621743c57b819b9b2237 (patch)
tree3bb9a222fcd28e1cc6b7d2d294af042542567b87
parentd7b20ba14fd2aea8cfd54860f43932d6d8908b28 (diff)
downloadnss-hg-c4d6282b5b7fdb588cbf621743c57b819b9b2237.tar.gz
Fix for bugtraq 4877287
-rw-r--r--security/nss/lib/certdb/genname.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/security/nss/lib/certdb/genname.c b/security/nss/lib/certdb/genname.c
index 9ee7126a3..a4eb971a8 100644
--- a/security/nss/lib/certdb/genname.c
+++ b/security/nss/lib/certdb/genname.c
@@ -373,6 +373,10 @@ cert_DecodeGeneralName(PRArenaPool *arena,
if (genName == NULL) {
genName = (CERTGeneralName *) PORT_ArenaZAlloc(arena, sizeof(CERTGeneralName));
}
+ if (!genName) {
+ return NULL;
+ }
+ genName->l.prev = genName->l.next = &genName->l;
genNameType = (CERTGeneralNameType)((*(encodedName->data) & 0x0f) + 1);
switch (genNameType) {
case certURI:
@@ -415,8 +419,6 @@ cert_DecodeGeneralName(PRArenaPool *arena,
goto loser;
}
genName->type = genNameType;
- genName->l.next = (PRCList *) ((char *) genName) + offsetof(CERTGeneralName, l);
- genName->l.prev = genName->l.next;
return genName;
loser:
return NULL;