diff --git a/tsk/fs/fs_open.c b/tsk/fs/fs_open.c
index c3e96e4e3a2a6a2f2af63310f834b01da4320b52..dc5eed72d52a01ec3a4edbe63b391f2b43eee7be 100644
--- a/tsk/fs/fs_open.c
+++ b/tsk/fs/fs_open.c
@@ -206,7 +206,7 @@ tsk_fs_open_img_decrypt(TSK_IMG_INFO * a_img_info, TSK_OFF_T a_offset,
                     unsupportedSignatureFound = 1;
                     tsk_error_reset();
                     tsk_error_set_errno(TSK_ERR_IMG_UNSUPTYPE);
-                    tsk_error_set_errstr(imageType);
+                    tsk_error_set_errstr("%s", imageType);
                     free(imageType);
                 }
             }
@@ -217,11 +217,11 @@ tsk_fs_open_img_decrypt(TSK_IMG_INFO * a_img_info, TSK_OFF_T a_offset,
                 if (result != NULL) {
                     if (result->encryptionType == ENCRYPTION_DETECTED_SIGNATURE) {
                         tsk_error_set_errno(TSK_ERR_FS_ENCRYPTED);
-                        tsk_error_set_errstr(result->desc);
+                        tsk_error_set_errstr("%s", result->desc);
                     }
                     else if (result->encryptionType == ENCRYPTION_DETECTED_ENTROPY) {
                         tsk_error_set_errno(TSK_ERR_FS_POSSIBLY_ENCRYPTED);
-                        tsk_error_set_errstr(result->desc);
+                        tsk_error_set_errstr("%s", result->desc);
                     }
                     else {
                         tsk_error_set_errno(TSK_ERR_FS_UNKTYPE);
diff --git a/tsk/util/detect_encryption.c b/tsk/util/detect_encryption.c
index 9e64cbcaac5996059ec05c7eb0a4dc18261d3e62..f50db1549da8f3eff0cb283fdd60b72008e2ca72 100644
--- a/tsk/util/detect_encryption.c
+++ b/tsk/util/detect_encryption.c
@@ -121,11 +121,11 @@ calculateEntropy(TSK_IMG_INFO * img_info, TSK_DADDR_T offset) {
             break;
         }
 
-        if (tsk_img_read(img_info, offset + i * bufLen, buf, bufLen) != bufLen) {
+        if (tsk_img_read(img_info, offset + i * bufLen, buf, bufLen) != (ssize_t) bufLen) {
             break;
         }
 
-        for (int j = 0; j < bufLen; j++) {
+        for (size_t j = 0; j < bufLen; j++) {
             unsigned char b = buf[j] & 0xff;
             byteCounts[b]++;
         }
@@ -176,7 +176,7 @@ detectVolumeEncryption(TSK_IMG_INFO * img_info, TSK_DADDR_T offset) {
     if (buf == NULL) {
         return result;
     }
-    if (tsk_img_read(img_info, offset, buf, len) != len) {
+    if (tsk_img_read(img_info, offset, buf, len) != (ssize_t)len) {
         free(buf);
         return result;
     }
@@ -250,7 +250,7 @@ detectDiskEncryption(TSK_IMG_INFO * img_info, TSK_DADDR_T offset) {
     if (buf == NULL) {
         return result;
     }
-    if (tsk_img_read(img_info, offset, buf, len) != len) {
+    if (tsk_img_read(img_info, offset, buf, len) != (ssize_t)len) {
         free(buf);
         return result;
     }
diff --git a/tsk/vs/mm_open.c b/tsk/vs/mm_open.c
index 6ac5a6ce8daf774fe24128ea6e9173ab9916fb83..ca1a413db66439100b16be15df08b8f4a3610ed6 100644
--- a/tsk/vs/mm_open.c
+++ b/tsk/vs/mm_open.c
@@ -184,7 +184,7 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
             if (result != NULL) {
                 if (result->encryptionType == ENCRYPTION_DETECTED_SIGNATURE) {
                     tsk_error_set_errno(TSK_ERR_VS_ENCRYPTED);
-                    tsk_error_set_errstr(result->desc);
+                    tsk_error_set_errstr("%s", result->desc);
                 }
                 free(result);
                 result = NULL;