Coverity CIDs 578 and 579 In source file lib/softoken/pk11db.c, there are numerous places where we find loops containing one or more invocations of the SECMOD_HANDLE_STRING_ARG macro. That macro checks for a string match, then allocates memory for a copy of a string, and stores the allocated memory address in a target pointer. If the same macro invocation should occur twice in the loop, e.g. because the sought string occurred more than once in the source string, all but the last allocation of the corresponding value string would be leaked. Coverity reports 11 occurrences of this in all, one for each macro invocation. The most straightforward solution is to have that macro free the contents of the target pointer, if it is not already NULL. patch forthcoming.
Created attachment 223256 [details] [diff] [review] patch v1 Bob, please review.
Comment on attachment 223256 [details] [diff] [review] patch v1 r= rrelya
Created attachment 223507 [details] [diff] [review] patch v1, part 2 OOps, that patch had two parts, and I previously only attached one of them. So please review this part, also, as if the two parts are being reviewed together.
Comment on attachment 223507 [details] [diff] [review] patch v1, part 2 r=alexei
So, Wan-Teh, is it too late for softoken fixes like this one now?
Retargetting this bug to NSS 3.12 because it is a softoken change, and we don't want to trigger more FIPS work.
Comment on attachment 223507 [details] [diff] [review] patch v1, part 2 r=rrelyea
Nelson, if you want, you can check in this patch on the NSS_3_11_BRANCH before this Friday.
Committed on trunk. Checking in pk11db.c; new revision: 1.37; previous revision: 1.36 Checking in pk11pars.h; new revision: 1.21; previous revision: 1.20