~ubuntu-branches/ubuntu/raring/nss/raring-security

« back to all changes in this revision

Viewing changes to mozilla/security/nss/lib/certhigh/certreq.c

Tags: 3.12.8-0ubuntu0.10.10.1
* New upstream release v3.12.8 (NSS_3_12_8_RTM)
  - Fix browser wildcard certificate validation issue
  - Update root certs
  - Fix SSL deadlocks
* Refresh patches:
  - update debian/patches/38_kbsd.patch
  - update debian/patches/97_SSL_RENEGOTIATE_TRANSITIONAL.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
94
94
 
95
95
    c = (CERTCertificate *)PORT_ArenaZAlloc(arena, sizeof(CERTCertificate));
96
96
    
97
 
    if (c) {
98
 
        c->referenceCount = 1;
99
 
        c->arena = arena;
100
 
 
101
 
        /*
102
 
         * Default is a plain version 1.
103
 
         * If extensions are added, it will get changed as appropriate.
104
 
         */
105
 
        rv = DER_SetUInteger(arena, &c->version, SEC_CERTIFICATE_VERSION_1);
106
 
        if (rv) goto loser;
107
 
 
108
 
        rv = DER_SetUInteger(arena, &c->serialNumber, serialNumber);
109
 
        if (rv) goto loser;
110
 
 
111
 
        rv = CERT_CopyName(arena, &c->issuer, issuer);
112
 
        if (rv) goto loser;
113
 
 
114
 
        rv = CERT_CopyValidity(arena, &c->validity, validity);
115
 
        if (rv) goto loser;
116
 
 
117
 
        rv = CERT_CopyName(arena, &c->subject, &req->subject);
118
 
        if (rv) goto loser;
119
 
        rv = SECKEY_CopySubjectPublicKeyInfo(arena, &c->subjectPublicKeyInfo,
120
 
                                          &req->subjectPublicKeyInfo);
121
 
        if (rv) goto loser;
 
97
    if (!c) {
 
98
        PORT_FreeArena(arena, PR_FALSE);
 
99
        return 0;
122
100
    }
 
101
 
 
102
    c->referenceCount = 1;
 
103
    c->arena = arena;
 
104
 
 
105
    /*
 
106
     * Default is a plain version 1.
 
107
     * If extensions are added, it will get changed as appropriate.
 
108
     */
 
109
    rv = DER_SetUInteger(arena, &c->version, SEC_CERTIFICATE_VERSION_1);
 
110
    if (rv) goto loser;
 
111
 
 
112
    rv = DER_SetUInteger(arena, &c->serialNumber, serialNumber);
 
113
    if (rv) goto loser;
 
114
 
 
115
    rv = CERT_CopyName(arena, &c->issuer, issuer);
 
116
    if (rv) goto loser;
 
117
 
 
118
    rv = CERT_CopyValidity(arena, &c->validity, validity);
 
119
    if (rv) goto loser;
 
120
 
 
121
    rv = CERT_CopyName(arena, &c->subject, &req->subject);
 
122
    if (rv) goto loser;
 
123
    rv = SECKEY_CopySubjectPublicKeyInfo(arena, &c->subjectPublicKeyInfo,
 
124
                                         &req->subjectPublicKeyInfo);
 
125
    if (rv) goto loser;
 
126
 
123
127
    return c;
124
128
 
125
 
  loser:
 
129
 loser:
126
130
    CERT_DestroyCertificate(c);
127
131
    return 0;
128
132
}