In the PR_Poll implementation based on poll(), if a PRPollDesc structure's fd field is NULL, we set the corresponding pollfd structure's fd field to -1, but we do not initialize its events field. This is fine because the poll man page says the events field is ignored if the fd field is negative. However, apparently poll still reads the events field (at least on Solaris), resulting in a UMR reported by Purify.
Created attachment 124023 [details] [diff] [review] Proposed patch for NSPR TIP Set the events field of a pollfd structure to 0 if we set the fd field to -1.
Created attachment 124025 [details] [diff] [review] Proposed patch for NSPR 4.1 branch Same fix for the NSPR 4.1 branch.
Comment on attachment 124025 [details] [diff] [review] Proposed patch for NSPR 4.1 branch Please ask your internal customer to test this patch and see if it eliminates the UMR in PR_Poll.
Comment on attachment 124023 [details] [diff] [review] Proposed patch for NSPR TIP Looks good.
I'll create binaries and try contacting Fred Batty at Sun. I greped for PR_Poll and found that indeed selfserv doesn't call, but sslstrength and ssltap may. Perhaps I can reproduce with one of these in the meantime.
This from Fred: Hi, I have a lot of urgent work right now and probably won't be able to verify this for several weeks. Why don't you go ahead and check in the fix, and I'll mark the bug verified when I've had a chance to verify it. Thx
Fixed on the NSPR tip (NSPR 4.4.1).