diff --git a/bindings/java/ivy.xml b/bindings/java/ivy.xml
index e592671184275cc8d11d31812bc35a67c8d07d48..d6b63338186290a0a839ad3d9883f6db9f654923 100644
--- a/bindings/java/ivy.xml
+++ b/bindings/java/ivy.xml
@@ -13,7 +13,7 @@
 
         <!-- NOTE: When SQLITE version is changed, also change the version number in
           debian/sleuthkit-java.install so that it gets packaged correctly on Linux -->
-		<dependency org="org.xerial" name="sqlite-jdbc" rev="3.36.0.3"/>
+		<dependency org="org.xerial" name="sqlite-jdbc" rev="3.42.0.0"/>
 
 		<dependency org="org.postgresql" name="postgresql" rev="42.3.5" >
 			<artifact name="postgresql" type="jar" />
diff --git a/bindings/java/src/org/sleuthkit/datamodel/Bundle.properties b/bindings/java/src/org/sleuthkit/datamodel/Bundle.properties
index 0616b0d3a56e5a7690a7c3cb7529fcf295e57000..fa3e2e190443df15aab494f978a1401aa18534bd 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/Bundle.properties
+++ b/bindings/java/src/org/sleuthkit/datamodel/Bundle.properties
@@ -250,8 +250,10 @@ SleuthkitCase.addLocalFile.exception.msg1.text=Error adding local file\: {0}, pa
 SleuthkitCase.addLocalFile.exception.msg2.text=Error creating a local file, cannot get new id of the object, file name\: {0}
 SleuthkitCase.addLocalFile.exception.msg3.text=Error creating a derived file, file name\: {0}
 SleuthkitCase.getLastObjectId.exception.msg.text=Error closing result set after getting last object id.
+TskData.tskFsNameFlagEnum.unknown=Unknown
 TskData.tskFsNameFlagEnum.allocated=Allocated
 TskData.tskFsNameFlagEnum.unallocated=Unallocated
+TskData.tskFsMetaFlagEnum.unknown=Unknown
 TskData.tskFsMetaFlagEnum.allocated=Allocated
 TskData.tskFsMetaFlagEnum.unallocated=Unallocated
 TskData.tskFsMetaFlagEnum.used=Used
diff --git a/bindings/java/src/org/sleuthkit/datamodel/Bundle_ja.properties b/bindings/java/src/org/sleuthkit/datamodel/Bundle_ja.properties
index 394fbe52ca2406be14b34d95c92ca1053dbb61b4..17e3b07892f5607730a5691418230d285af22a26 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/Bundle_ja.properties
+++ b/bindings/java/src/org/sleuthkit/datamodel/Bundle_ja.properties
@@ -392,6 +392,7 @@ TskData.fileKnown.unknown=\u4e0d\u660e
 TskData.objectTypeEnum.exception.msg1.text=\u30d0\u30ea\u30e5\u30fc\uff1a{0}\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30bf\u30a4\u30d7\u306b\u8a72\u5f53\u3057\u307e\u305b\u3093
 TskData.tskDbFilesTypeEnum.exception.msg1.text=\u30d0\u30ea\u30e5\u30fc\uff1a{0}\u306fTSK_FILE_TYPE_ENUM\u306b\u8a72\u5f53\u3057\u307e\u305b\u3093
 TskData.tskFsAttrTypeEnum.exception.msg1.text=\u30d0\u30ea\u30e5\u30fc\uff1a{0}\u306fTSK_FS_TYPE_ENUM\u306b\u8a72\u5f53\u3057\u307e\u305b\u3093
+TskData.tskFsMetaFlagEnum.unknown=\u4e0d\u660e
 TskData.tskFsMetaFlagEnum.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f
 TskData.tskFsMetaFlagEnum.compressed=\u5727\u7e2e\u6e08\u307f
 TskData.tskFsMetaFlagEnum.orphan=\u30aa\u30fc\u30d5\u30a1\u30f3
@@ -399,6 +400,7 @@ TskData.tskFsMetaFlagEnum.unallocated=\u672a\u5272\u308a\u5f53\u3066
 TskData.tskFsMetaFlagEnum.unused=\u672a\u4f7f\u7528
 TskData.tskFsMetaFlagEnum.used=\u4f7f\u7528\u6e08\u307f
 TskData.tskFsMetaTypeEnum.exception.msg1.text=\u30d0\u30ea\u30e5\u30fc\uff1a{0}\u306fTSK_FS_META_TYPE_ENUM\u306b\u8a72\u5f53\u3057\u307e\u305b\u3093
+TskData.tskFsNameFlagEnum.unknown=\u4e0d\u660e
 TskData.tskFsNameFlagEnum.allocated=\u5272\u308a\u5f53\u3066\u6e08\u307f
 TskData.tskFsNameFlagEnum.exception.msg1.text=\u30d0\u30ea\u30e5\u30fc\uff1a{0}\u306fTSK_FS_NAME_FLAG_ENUM\u306b\u8a72\u5f53\u3057\u307e\u305b\u3093
 TskData.tskFsNameFlagEnum.unallocated=\u672a\u5272\u308a\u5f53\u3066
diff --git a/bindings/java/src/org/sleuthkit/datamodel/TskData.java b/bindings/java/src/org/sleuthkit/datamodel/TskData.java
index 5789304dab36412b35e2189c1c8c1d572e0e2ee5..0972d09e4b663a62d851bf77f80da79e978f744b 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/TskData.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/TskData.java
@@ -153,6 +153,7 @@ public static TSK_FS_META_TYPE_ENUM valueOf(short metaType) {
 	 */
 	public enum TSK_FS_NAME_FLAG_ENUM {
 
+		UNKNOWN(0, bundle.getString("TskData.tskFsNameFlagEnum.unknown")), ///< Unknown
 		ALLOC(1, bundle.getString("TskData.tskFsNameFlagEnum.allocated")), ///< Name is in an allocated state
 		UNALLOC(2, bundle.getString("TskData.tskFsNameFlagEnum.unallocated"));    ///< Name is in an unallocated state
 
@@ -191,8 +192,8 @@ public static TSK_FS_NAME_FLAG_ENUM valueOf(int dirFlag) {
 					return flag;
 				}
 			}
-			throw new IllegalArgumentException(
-					MessageFormat.format(bundle.getString("TskData.tskFsNameFlagEnum.exception.msg1.text"), dirFlag));
+
+			return TSK_FS_NAME_FLAG_ENUM.UNKNOWN;
 		}
 	}
 
@@ -203,6 +204,7 @@ public static TSK_FS_NAME_FLAG_ENUM valueOf(int dirFlag) {
 	 */
 	public enum TSK_FS_META_FLAG_ENUM {
 
+		UNKNOWN(0, bundle.getString("TskData.tskFsMetaFlagEnum.unknown")), ///< Unknown
 		ALLOC(1, bundle.getString("TskData.tskFsMetaFlagEnum.allocated")), ///< Metadata structure is currently in an allocated state
 		UNALLOC(2, bundle.getString("TskData.tskFsMetaFlagEnum.unallocated")), ///< Metadata structure is currently in an unallocated state
 		USED(4, bundle.getString("TskData.tskFsMetaFlagEnum.used")), ///< Metadata structure has been allocated at least once
@@ -247,6 +249,11 @@ public String toString() {
 		public static Set<TSK_FS_META_FLAG_ENUM> valuesOf(short metaFlags) {
 			Set<TSK_FS_META_FLAG_ENUM> matchedFlags = EnumSet.noneOf(TSK_FS_META_FLAG_ENUM.class);
 
+			if (metaFlags == TSK_FS_META_FLAG_ENUM.UNKNOWN.getValue()) {
+				matchedFlags.add(TSK_FS_META_FLAG_ENUM.UNKNOWN);
+				return matchedFlags;
+			}
+			
 			for (TSK_FS_META_FLAG_ENUM v : TSK_FS_META_FLAG_ENUM.values()) {
 				long flag = v.getValue();
 
@@ -254,7 +261,7 @@ public static Set<TSK_FS_META_FLAG_ENUM> valuesOf(short metaFlags) {
 					matchedFlags.add(v);
 				}
 			}
-
+			
 			return matchedFlags;
 		}
 
diff --git a/debian/sleuthkit-java.install b/debian/sleuthkit-java.install
index 8d48c45ba1abe614bc61a6a12b799e46ebe590dc..5c51f709b582671e9265497572e67c10102f3f36 100644
--- a/debian/sleuthkit-java.install
+++ b/debian/sleuthkit-java.install
@@ -1,4 +1,4 @@
-bindings/java/lib/sqlite-jdbc-3.36.0.3.jar /usr/share/java
+bindings/java/lib/sqlite-jdbc-3.42.0.0.jar /usr/share/java
 bindings/java/dist/sleuthkit-4.12.0.jar /usr/share/java
 case-uco/java/dist/sleuthkit-caseuco-4.12.0.jar /usr/share/java
 
diff --git a/tsk/auto/db_sqlite.cpp b/tsk/auto/db_sqlite.cpp
index 373c9440a3833fde25d007a933e22b43341ee8da..6c2c58d94106cad7b3179809f245b08dda814723 100644
--- a/tsk/auto/db_sqlite.cpp
+++ b/tsk/auto/db_sqlite.cpp
@@ -711,7 +711,7 @@ int TskDbSqlite::addImageInfo(int type, TSK_OFF_T ssize, int64_t & objId, const
 #else
     deviceIdStr << deviceId;
 #endif
-    sql = sqlite3_mprintf("INSERT INTO data_source_info (obj_id, device_id, time_zone, acquisition_details) VALUES (%lld, '%s', '%s', '%q');", objId, deviceIdStr.str().c_str(), timezone.c_str(), collectionDetails.c_str());
+    sql = sqlite3_mprintf("INSERT INTO data_source_info (obj_id, device_id, time_zone, acquisition_details) VALUES (%lld, '%q', '%q', '%q');", objId, deviceIdStr.str().c_str(), timezone.c_str(), collectionDetails.c_str());
     ret = attempt_exec(sql, "Error adding data to tsk_image_info table: %s\n");
     sqlite3_free(sql);
     return ret;
diff --git a/tsk/pool/Makefile.am b/tsk/pool/Makefile.am
index 2909959f904fb7bce40e07475a13488bd2c5fab1..5fd34cbebead3411fbeb81bea416ec9a19d2f6cd 100644
--- a/tsk/pool/Makefile.am
+++ b/tsk/pool/Makefile.am
@@ -5,7 +5,7 @@ EXTRA_DIST = .indent.pro
 noinst_LTLIBRARIES = libtskpool.la
 libtskpool_la_SOURCES = pool_open.cpp pool_read.cpp pool_types.cpp \
 	apfs_pool_compat.cpp apfs_pool.cpp \
-	img_bfio_handle.c \
+	img_bfio_handle.c img_bfio_handle.h \
 	lvm_pool_compat.cpp lvm_pool.cpp
 
 indent: