Closed
Bug 474777
Opened 16 years ago
Closed 16 years ago
Wrong deallocation when modifying CRL.
Categories
(NSS :: Tools, defect)
NSS
Tools
Tracking
(Not tracked)
RESOLVED
FIXED
3.12.3
People
(Reporter: slavomir.katuscak+mozilla, Assigned: alvolkov.bgs)
Details
Attachments
(1 file)
2.07 KB,
patch
|
nelson
:
review+
|
Details | Diff | Splinter Review |
chains.sh: Create CRL for CA1DB
crlutil -G -d CA1DB -n CA1 -f CA1DB/dbpasswd
=== Crlutil input data ===
update=20090122131753Z
===
CRL Info:
:
Version: 2 (0x1)
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: "CN=CA1 Intermediate,O=CA1,C=US"
This Update: Thu Jan 22 13:17:53 2009
CRL Extensions:
chains.sh: #20: Revocation: Create CRL for CA1DB - PASSED
chains.sh: Revoking certificate with SN 14 issued by CA1
crlutil -M -d CA1DB -n CA1 -f CA1DB/dbpasswd
=== Crlutil input data ===
addcert 14 20090122131754Z
===
crlutil(19142) malloc: *** Deallocation of a pointer not malloced: 0x732f7374; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
CRL Info:
:
Version: 2 (0x1)
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: "CN=CA1 Intermediate,O=CA1,C=US"
This Update: Thu Jan 22 13:17:54 2009
Entry (1):
Serial Number: 14 (0xe)
Revocation Date: Thu Jan 22 13:17:54 2009
CRL Extensions:
chains.sh: #21: Revocation: Revoking certificate with SN 14 issued by CA1 - PASSED
Comment 1•16 years ago
|
||
Was there a core file? Can we get a stack trace?
Reporter | ||
Comment 2•16 years ago
|
||
No core file. Even if there was error message, it finished successfully.
Reporter | ||
Comment 3•16 years ago
|
||
After adding CRL tests to CVS Tinderboxes began to fail with core:
(dbx) where
[1] _malloc_unlocked(0x40, 0x1, 0x3c, 0xbfb45000, 0x80469c0, 0xbfaaf633), at 0xbfac0d04
[2] malloc(0x3c), at 0xbfac0c63
[3] calloc(0x1, 0x3c), at 0xbfaaf633
=>[4] PR_Calloc(nelem = 1U, elsize = 60U), line 475 in "prmem.c"
[5] nss_ZAlloc(arenaOpt = (nil), size = 52U), line 892 in "arena.c"
[6] nssArena_Create(), line 412 in "arena.c"
[7] nssList_Create(arenaOpt = (nil), threadSafe = 0), line 125 in "list.c"
[8] nssTrustDomain_FindCertificatesBySubject(td = 0x80b4870, subject = 0x8046b28, rvOpt = (nil), maximumOpt = 0, arenaOpt = (nil)), line 620 in "trustdomain.c"
[9] NSSTrustDomain_FindCertificatesBySubject(td = 0x80b4870, subject = 0x8046b28, rvOpt = (nil), maximumOpt = 0, arenaOpt = (nil)), line 706 in "trustdomain.c"
[10] CERT_CreateSubjectCertList(certList = (nil), handle = 0x80b4870, name = 0x80c74d4, sorttime = 1233852339595613LL, validOnly = 1), line 695 in "stanpcertdb.c"
[11] SECU_FindCrlIssuer(dbhandle = 0x80b4870, subject = 0x80c74d4, authorityKeyID = (nil), validTime = 1233852339595613LL), line 4004 in "secutil.c"
[12] FindSigningCert(certHandle = 0x80b4870, signCrl = 0x80c74a8, certNickName = 0x808b9e8 "CA0"), line 340 in "crlutil.c"
[13] GenerateCRL(certHandle = 0x80b4870, certNickName = 0x808b9e8 "CA0", inCrlInitFile = 0x808c1e8, inFile = (nil), outFileName = 0x808b9f8 "CA0.crl", ascii = 0, slotName = (nil), importOptions = 0, alg = (nil), quiet = 0, decodeOptions = 0, url = (nil), pwdata = 0x8046c70, modifyFlag = 1), line 698 in "crlutil.c"
[14] main(argc = 10, argv = 0x8046d28), line 1060 in "crlutil.c"
You can find core file on machine dositups in:
/export/tinderlight/data/dositups_32_DBG.474777/mozilla/tests_results/security/dositups.1/chains/Revocation
Assignee | ||
Comment 4•16 years ago
|
||
Old code was trying to de-allocate memory of the crlDER.data even if it was not allocated in the first place. This would be the case, when reading of the crl was done directly from cert/crl db.
Attachment #360781 -
Flags: review?(nelson)
Comment 5•16 years ago
|
||
Comment on attachment 360781 [details] [diff] [review]
crlutil.c patch v1 - fix an attempt to deallocate unallocated data.
r=nelson
Attachment #360781 -
Flags: review?(nelson) → review+
Assignee | ||
Comment 6•16 years ago
|
||
committed.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•