Hello,

    Fix zone register locking in zr_set_zone_serial_digest().

    Zone register has to be locked against simultaneous writes.

--
Petr^2 Spacek
From ad51025a35efe47542f4379049c8e23d1054726c Mon Sep 17 00:00:00 2001
From: Petr Spacek <pspa...@redhat.com>
Date: Wed, 26 Sep 2012 12:51:06 +0200
Subject: [PATCH] Fix zone register locking in zr_set_zone_serial_digest().

Zone register has to be locked against simultaneous writes.

Signed-off-by: Petr Spacek <pspa...@redhat.com>
---
 src/zone_register.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/zone_register.c b/src/zone_register.c
index b2b938f3336b23a40d43c85062c9389a2190f3cb..76305730b2e19686568f8a1bc6ac703ed3898fcc 100644
--- a/src/zone_register.c
+++ b/src/zone_register.c
@@ -370,15 +370,15 @@ zr_set_zone_serial_digest(zone_register_t *zr, dns_name_t *name,
 		return ISC_R_FAILURE;
 	}
 
-	RWLOCK(&zr->rwlock, isc_rwlocktype_read);
+	RWLOCK(&zr->rwlock, isc_rwlocktype_write);
 
 	result = dns_rbt_findname(zr->rbt, name, 0, NULL, (void *)&zinfo);
 	if (result == ISC_R_SUCCESS) {
 		zinfo->serial = serial;
 		memcpy(zinfo->digest, digest, RDLIST_DIGESTLENGTH);
 	}
 
-	RWUNLOCK(&zr->rwlock, isc_rwlocktype_read);
+	RWUNLOCK(&zr->rwlock, isc_rwlocktype_write);
 
 	return result;
 }
-- 
1.7.11.4

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to