From 1d308c2ef045e32892b364a079ce70f4868659d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Thu, 18 Jan 2024 03:33:44 -0500
Subject: [PATCH] Half-assed error handling for unbalanced lock/unlock

---
 src/xpdev/rwlockwrap.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/xpdev/rwlockwrap.c b/src/xpdev/rwlockwrap.c
index cbeca40c4f..cc90610d0f 100644
--- a/src/xpdev/rwlockwrap.c
+++ b/src/xpdev/rwlockwrap.c
@@ -117,8 +117,11 @@ rwlock_unlock(rwlock_t *lock)
 		LeaveCriticalSection(&lock->lk);
 		return false;
 	}
-	lock->readers--;
-	return true;
+	if (lock->readers) {
+		lock->readers--;
+		return true;
+	}
+	return false;
 }
 
 #elif defined(__unix__)
-- 
GitLab