| Index: nss/lib/certdb/genname.c
|
| diff --git a/nss/lib/certdb/genname.c b/nss/lib/certdb/genname.c
|
| index e3bc11d59109d83a24daaf82aacd91a4969e49c1..6529a6a097a07af30e006735fcc87d084d63c351 100644
|
| --- a/nss/lib/certdb/genname.c
|
| +++ b/nss/lib/certdb/genname.c
|
| @@ -67,16 +67,6 @@ static const SEC_ASN1Template CERTOtherNameTemplate[] = {
|
| sizeof(CERTGeneralName) }
|
| };
|
|
|
| -static const SEC_ASN1Template CERTOtherName2Template[] = {
|
| - { SEC_ASN1_SEQUENCE | SEC_ASN1_CONTEXT_SPECIFIC | 0 ,
|
| - 0, NULL, sizeof(CERTGeneralName) },
|
| - { SEC_ASN1_OBJECT_ID,
|
| - offsetof(CERTGeneralName, name.OthName) + offsetof(OtherName, oid) },
|
| - { SEC_ASN1_ANY,
|
| - offsetof(CERTGeneralName, name.OthName) + offsetof(OtherName, name) },
|
| - { 0, }
|
| -};
|
| -
|
| static const SEC_ASN1Template CERT_RFC822NameTemplate[] = {
|
| { SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 1 ,
|
| offsetof(CERTGeneralName, name.other),
|
| @@ -684,7 +674,7 @@ loser:
|
| return NULL;
|
| }
|
|
|
| -CERTNameConstraint *
|
| +static CERTNameConstraint *
|
| cert_DecodeNameConstraintSubTree(PLArenaPool *arena,
|
| SECItem **subTree,
|
| PRBool permited)
|
| @@ -701,15 +691,17 @@ cert_DecodeNameConstraintSubTree(PLArenaPool *arena,
|
| if (current == NULL) {
|
| goto loser;
|
| }
|
| - if (last == NULL) {
|
| - first = last = current;
|
| + if (first == NULL) {
|
| + first = current;
|
| + } else {
|
| + current->l.prev = &(last->l);
|
| + last->l.next = &(current->l);
|
| }
|
| - current->l.prev = &(last->l);
|
| - current->l.next = last->l.next;
|
| - last->l.next = &(current->l);
|
| + last = current;
|
| i++;
|
| }
|
| - first->l.prev = &(current->l);
|
| + first->l.prev = &(last->l);
|
| + last->l.next = &(first->l);
|
| /* TODO: unmark arena */
|
| return first;
|
| loser:
|
|
|