From dd2d758a0016583afc8310d9feab309b48301147 Mon Sep 17 00:00:00 2001
From: Raman <raman@basistech.com>
Date: Thu, 18 Jan 2018 13:05:39 -0500
Subject: [PATCH] 3488: missing write lock in CommunicationsManager

---
 .../src/org/sleuthkit/datamodel/CommunicationsManager.java    | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/bindings/java/src/org/sleuthkit/datamodel/CommunicationsManager.java b/bindings/java/src/org/sleuthkit/datamodel/CommunicationsManager.java
index ccf840d53..5130d6331 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/CommunicationsManager.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/CommunicationsManager.java
@@ -77,6 +77,7 @@ public class CommunicationsManager {
 	 */
 	private void initAccountTypes() throws TskCoreException {
 		CaseDbConnection connection = db.getConnection();
+		db.acquireSingleUserCaseWriteLock();
 		Statement statement = null;
 		ResultSet resultSet = null;
 
@@ -115,6 +116,7 @@ private void initAccountTypes() throws TskCoreException {
 			closeResultSet(resultSet);
 			closeStatement(statement);
 			connection.close();
+			db.releaseSingleUserCaseWriteLock();
 		}
 	}
 
@@ -130,6 +132,7 @@ private void initAccountTypes() throws TskCoreException {
 	 */
 	private int readAccountTypes() throws SQLException, TskCoreException {
 		CaseDbConnection connection = db.getConnection();
+		db.acquireSingleUserCaseReadLock();
 		Statement statement = null;
 		ResultSet resultSet = null;
 		int count = 0;
@@ -158,6 +161,7 @@ private int readAccountTypes() throws SQLException, TskCoreException {
 			closeResultSet(resultSet);
 			closeStatement(statement);
 			connection.close();
+			db.releaseSingleUserCaseReadLock();
 		}
 
 		return count;
-- 
GitLab