[nss] - Resolves: Bug 784672 - nss should protect against being called before nss_Init
Elio Maldonado
emaldonado at fedoraproject.org
Thu Jan 26 23:33:04 UTC 2012
commit 81470bd3c409158c781ba152ac3ba585c7a2aace
Author: Elio Maldonado <emaldona at redhat.com>
Date: Thu Jan 26 14:56:36 2012 -0800
- Resolves: Bug 784672 - nss should protect against being called before nss_Init
...672-protect-against-calls-before-nss_init.patch | 40 ++++++++++++++++++++
nss.spec | 7 +++-
2 files changed, 46 insertions(+), 1 deletions(-)
---
diff --git a/bz784672-protect-against-calls-before-nss_init.patch b/bz784672-protect-against-calls-before-nss_init.patch
new file mode 100644
index 0000000..934ea30
--- /dev/null
+++ b/bz784672-protect-against-calls-before-nss_init.patch
@@ -0,0 +1,40 @@
+diff -up mozilla/security/nss/lib/nss/nssinit.c.784672 mozilla/security/nss/lib/nss/nssinit.c
+--- mozilla/security/nss/lib/nss/nssinit.c.784672 2012-01-26 14:43:46.232357231 -0800
++++ mozilla/security/nss/lib/nss/nssinit.c 2012-01-26 14:50:55.830512565 -0800
+@@ -944,6 +944,12 @@ NSS_RegisterShutdown(NSS_ShutdownFunc sF
+ {
+ int i;
+
++ /* make sure our lock and condition variable are initialized one and only
++ * one time */
++ if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
++ return SECFailure;
++ }
++
+ PZ_Lock(nssInitLock);
+ if (!NSS_IsInitialized()) {
+ PZ_Unlock(nssInitLock);
+@@ -1002,6 +1008,11 @@ NSS_UnregisterShutdown(NSS_ShutdownFunc
+ {
+ int i;
+
++ /* make sure our lock and condition variable are initialized one and only
++ * one time */
++ if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
++ return SECFailure;
++ }
+ PZ_Lock(nssInitLock);
+ if (!NSS_IsInitialized()) {
+ PZ_Unlock(nssInitLock);
+@@ -1192,6 +1203,11 @@ NSS_ShutdownContext(NSSInitContext *cont
+ {
+ SECStatus rv = SECSuccess;
+
++ /* make sure our lock and condition variable are initialized one and only
++ * one time */
++ if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
++ return SECFailure;
++ }
+ PZ_Lock(nssInitLock);
+ /* If one or more threads are in the middle of init, wait for them
+ * to complete */
diff --git a/nss.spec b/nss.spec
index 157a39d..8ef43df 100644
--- a/nss.spec
+++ b/nss.spec
@@ -7,7 +7,7 @@
Summary: Network Security Services
Name: nss
Version: 3.13.1
-Release: 11%{?dist}
+Release: 12%{?dist}
License: MPLv1.1 or GPLv2+ or LGPLv2+
URL: http://www.mozilla.org/projects/security/pki/nss/
Group: System Environment/Libraries
@@ -72,6 +72,7 @@ Patch26: nofipstest.patch
Patch28: nsspem-bz754771.patch
# This patch is currently meant for f16 and f15 only
#Patch29: nss-ssl-cbc-random-iv-off-by-default.patch
+Patch30: bz784672-protect-against-calls-before-nss_init.patch
%description
@@ -162,6 +163,7 @@ low level services.
%patch28 -p0 -b .754771
# activate only if requested for f17
#%patch29 -p0 -b .770682
+%patch30 -p0 -b .784672
%build
@@ -576,6 +578,9 @@ rm -rf $RPM_BUILD_ROOT/%{_includedir}/nss3/nsslowhash.h
%changelog
+* Thu Jan 26 2012 Elio Maldonado <emaldona at redhat.com> - 3.13.1-12
+- Resolves: Bug 784672 - nss should protect against being called before nss_Init
+
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.13.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
More information about the scm-commits
mailing list