Your text here. [rsc] --rw-rw-r-- M 28433 glenda sys 50918 Sep 19 07:19 sys/src/libsec/port/x509.c /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:172,177 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:172,178 exits("out of memory"); } memset(p, 0, n); + setmalloctag(p, getcallerpc(&n)); return p; } /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:259,267 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:260,270 if(err == ASN_OK) { err = length_decode(pp, pend, &length); if(err == ASN_OK) { - if(tag.class == Universal) + if(tag.class == Universal) { err = value_decode(pp, pend, length, tag.num, isconstr, &val); - else + if(val.tag == VSeq || val.tag == VSet) + setmalloctag(val.u.seqval, getcallerpc(&pp)); + }else err = value_decode(pp, pend, length, OCTET_STRING, 0, &val); if(err == ASN_OK) { pelem->tag = tag; /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:498,503 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:501,507 case SEQUENCE: err = seq_decode(&p, pend, length, isconstr, &vl); + setmalloctag(vl, getcallerpc(&pp)); if(err == ASN_OK) { pval->tag = VSeq ; pval->u.seqval = vl; /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:506,511 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:510,516 case SETOF: err = seq_decode(&p, pend, length, isconstr, &vl); + setmalloctag(vl, getcallerpc(&pp)); if(err == ASN_OK) { pval->tag = VSet; pval->u.setval = vl; /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:742,747 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:747,753 } *pp = p; *pelist = ans; + setmalloctag(ans, getcallerpc(&pp)); return err; } /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:1402,1407 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:1408,1414 Elist* el; el = (Elist*)emalloc(sizeof(Elist)); + setmalloctag(el, getcallerpc(&e)); el->hd = e; el->tl = tail; return el; /n/sourcesdump/2005/0919/plan9/sys/src/libsec/port/x509.c:2042,2048 - /n/sourcesdump/2005/0920/plan9/sys/src/libsec/port/x509.c:2049,2054 /* see 9.2.1 of rfc2437 */ pkcs1 = betomp(signature->data, signature->len, nil); mpexp(pkcs1, pk->ek, pk->n, pkcs1); - pkcs1buf = nil; buflen = mptobe(pkcs1, nil, 0, &pkcs1buf); buf = pkcs1buf; if(buflen != nlen || buf[0] != 1) {