From 0a4f1b78431eb087ab1b91d205010334566e4b23 Mon Sep 17 00:00:00 2001 From: "julien.pierre.boogz%sun.com" Date: Thu, 8 Nov 2007 02:26:40 +0000 Subject: Fix for bug 401057 . crmftest crashes in crmf_copy_bitstring . Patch contributed by Nelson . r=julien,alexei --- security/nss/lib/crmf/crmfreq.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/security/nss/lib/crmf/crmfreq.c b/security/nss/lib/crmf/crmfreq.c index 73a0548b9..36ab9d661 100644 --- a/security/nss/lib/crmf/crmfreq.c +++ b/security/nss/lib/crmf/crmfreq.c @@ -329,29 +329,28 @@ crmf_template_add_public_key(PRArenaPool *poolp, } static SECStatus -crmf_copy_bitstring (PRArenaPool *poolp, SECItem *dest, SECItem *src) +crmf_copy_bitstring (PRArenaPool *poolp, SECItem *dest, const SECItem *src) { SECStatus rv; - int origLenBits, numBytesToCopy; + SECItem byteSrc; - origLenBits = src->len; - numBytesToCopy = CRMF_BITS_TO_BYTES(origLenBits); - rv = crmf_copy_secitem(poolp, dest, src); - src->len = origLenBits; - dest->len = origLenBits; + byteSrc = *src; + byteSrc.len = CRMF_BITS_TO_BYTES(byteSrc.len); + rv = crmf_copy_secitem(poolp, dest, &byteSrc); + dest->len = src->len; return rv; } static SECStatus crmf_template_add_issuer_uid(PRArenaPool *poolp, SECItem *dest, - SECItem *issuerUID) + const SECItem *issuerUID) { return crmf_copy_bitstring (poolp, dest, issuerUID); } static SECStatus crmf_template_add_subject_uid(PRArenaPool *poolp, SECItem *dest, - SECItem *subjectUID) + const SECItem *subjectUID) { return crmf_copy_bitstring (poolp, dest, subjectUID); } -- cgit v1.2.1