From eb921f9125f1a6a1182d5c0ee018d747e63dc485 Mon Sep 17 00:00:00 2001
From: Ann Priestman <apriestman@basistech.com>
Date: Thu, 2 Feb 2017 08:36:15 -0500
Subject: [PATCH] Cleanup

---
 bindings/java/jni/dataModel_SleuthkitJNI.cpp  | 178 +++++++++---------
 .../org/sleuthkit/datamodel/SleuthkitJNI.java |   1 -
 tsk/auto/auto_db.cpp                          | 164 ++++++++--------
 tsk/auto/tsk_case_db.h                        |   4 +-
 4 files changed, 173 insertions(+), 174 deletions(-)

diff --git a/bindings/java/jni/dataModel_SleuthkitJNI.cpp b/bindings/java/jni/dataModel_SleuthkitJNI.cpp
index 311afd02c..76694d185 100644
--- a/bindings/java/jni/dataModel_SleuthkitJNI.cpp
+++ b/bindings/java/jni/dataModel_SleuthkitJNI.cpp
@@ -206,7 +206,7 @@ toTCHAR(JNIEnv * env, TSK_TCHAR * buffer, size_t size, jstring strJ)
     char *str8 = (char *) env->GetStringUTFChars(strJ, &isCopy);
 
 #ifdef TSK_WIN32
-	// Windows TCHAR is UTF16 in Windows, so convert
+    // Windows TCHAR is UTF16 in Windows, so convert
     UTF16 *utf16 = (UTF16 *) buffer;
     UTF8 *utf8 = (UTF8 *) str8;;
     TSKConversionResult retval;
@@ -224,12 +224,12 @@ toTCHAR(JNIEnv * env, TSK_TCHAR * buffer, size_t size, jstring strJ)
         return 1;
     }
 
-	// "utf16" now points to last char. Need to NULL terminate the string.
+    // "utf16" now points to last char. Need to NULL terminate the string.
     *utf16 = '\0';
 
 #else
-	// nothing to convert.  Keep it as UTF8
-	strncpy((char *)&buffer[0], str8, size);
+    // nothing to convert.  Keep it as UTF8
+    strncpy((char *)&buffer[0], str8, size);
 #endif
 
     env->ReleaseStringUTFChars(strJ, str8);
@@ -1097,14 +1097,14 @@ JNIEXPORT void JNICALL
             setThrowTskCoreError(env, msgss.str().c_str());
         }
         else if (ret == 2) {
-			if(tskAuto->isDbOpen()) {
-				// if we can still talk to the database, it's a non-fatal error
-				setThrowTskDataError(env, msgss.str().c_str());
-			}
-			else {
-				// we cannot talk to the database, fatal error
-				setThrowTskCoreError(env, msgss.str().c_str());
-			}
+            if(tskAuto->isDbOpen()) {
+                // if we can still talk to the database, it's a non-fatal error
+                setThrowTskDataError(env, msgss.str().c_str());
+            }
+            else {
+                // we cannot talk to the database, fatal error
+                setThrowTskCoreError(env, msgss.str().c_str());
+            }
         }
     }
 
@@ -1140,72 +1140,72 @@ JNIEXPORT void JNICALL
 */
 JNIEXPORT void JNICALL
 Java_org_sleuthkit_datamodel_SleuthkitJNI_runAddImgNat(JNIEnv * env,
-	jclass obj, jlong process, jstring deviceId, jlong a_img_info, jstring timeZone) {
-	
-	TskAutoDb *tskAuto = ((TskAutoDb *)process);
-	if (!tskAuto || tskAuto->m_tag != TSK_AUTO_TAG) {
-		setThrowTskCoreError(env,
-			"runAddImgNat: Invalid TskAutoDb object passed in");
-		return;
-	}
-
-	jboolean isCopy;
-	const char *device_id = NULL;
-	if (NULL != deviceId) {
-		device_id = (const char *)env->GetStringUTFChars(deviceId, &isCopy);
-		if (NULL == device_id) {
-			setThrowTskCoreError(env, "runAddImgNat: Can't convert data source id string");
-			return;
-		}
-	}
-
-	// Set the time zone.
-	if (env->GetStringLength(timeZone) > 0) {
-		const char *time_zone = env->GetStringUTFChars(timeZone, &isCopy);
-		tskAuto->setTz(string(time_zone));
-		env->ReleaseStringUTFChars(timeZone, time_zone);
-	}
-
-	// Save the image handle to the TskAutoDb object
-	TSK_IMG_INFO *img_info = castImgInfo(env, a_img_info);
-	tskAuto->openImageHandle(img_info);
-
-	// Add the data source.
-	uint8_t ret = 0;
-	if ((ret = tskAuto->startAddImage(device_id)) != 0) {
-		stringstream msgss;
-		msgss << "Errors occured while ingesting image " << std::endl;
-		vector<TskAuto::error_record> errors = tskAuto->getErrorList();
-		for (size_t i = 0; i < errors.size(); i++) {
-			msgss << (i + 1) << ". ";
-			msgss << (TskAuto::errorRecordToString(errors[i]));
-			msgss << " " << std::endl;
-		}
-
-		if (ret == 1) {
-			//fatal error
-			setThrowTskCoreError(env, msgss.str().c_str());
-		}
-		else if (ret == 2) {
-			if (tskAuto->isDbOpen()) {
-				// if we can still talk to the database, it's a non-fatal error
-				setThrowTskDataError(env, msgss.str().c_str());
-			}
-			else {
-				// we cannot talk to the database, fatal error
-				setThrowTskCoreError(env, msgss.str().c_str());
-			}
-		}
-	}
-
-	// @@@ SHOULD WE CLOSE HERE before we commit / revert etc.
-	//close image first before freeing the image paths
-	tskAuto->closeImage();
-
-	// Cleanup
-	env->ReleaseStringUTFChars(deviceId, (const char *)device_id);
-
-	// if process completes successfully, must call revertAddImgNat or commitAddImgNat to free the TskAutoDb
+    jclass obj, jlong process, jstring deviceId, jlong a_img_info, jstring timeZone) {
+    
+    TskAutoDb *tskAuto = ((TskAutoDb *)process);
+    if (!tskAuto || tskAuto->m_tag != TSK_AUTO_TAG) {
+        setThrowTskCoreError(env,
+            "runAddImgNat: Invalid TskAutoDb object passed in");
+        return;
+    }
+
+    jboolean isCopy;
+    const char *device_id = NULL;
+    if (NULL != deviceId) {
+        device_id = (const char *)env->GetStringUTFChars(deviceId, &isCopy);
+        if (NULL == device_id) {
+            setThrowTskCoreError(env, "runAddImgNat: Can't convert data source id string");
+            return;
+        }
+    }
+
+    // Set the time zone.
+    if (env->GetStringLength(timeZone) > 0) {
+        const char *time_zone = env->GetStringUTFChars(timeZone, &isCopy);
+        tskAuto->setTz(string(time_zone));
+        env->ReleaseStringUTFChars(timeZone, time_zone);
+    }
+
+    // Save the image handle to the TskAutoDb object
+    TSK_IMG_INFO *img_info = castImgInfo(env, a_img_info);
+    tskAuto->openImageHandle(img_info);
+
+    // Add the data source.
+    uint8_t ret = 0;
+    if ((ret = tskAuto->startAddImage(device_id)) != 0) {
+        stringstream msgss;
+        msgss << "Errors occured while ingesting image " << std::endl;
+        vector<TskAuto::error_record> errors = tskAuto->getErrorList();
+        for (size_t i = 0; i < errors.size(); i++) {
+            msgss << (i + 1) << ". ";
+            msgss << (TskAuto::errorRecordToString(errors[i]));
+            msgss << " " << std::endl;
+        }
+
+        if (ret == 1) {
+            //fatal error
+            setThrowTskCoreError(env, msgss.str().c_str());
+        }
+        else if (ret == 2) {
+            if (tskAuto->isDbOpen()) {
+                // if we can still talk to the database, it's a non-fatal error
+                setThrowTskDataError(env, msgss.str().c_str());
+            }
+            else {
+                // we cannot talk to the database, fatal error
+                setThrowTskCoreError(env, msgss.str().c_str());
+            }
+        }
+    }
+
+    // @@@ SHOULD WE CLOSE HERE before we commit / revert etc.
+    //close image first before freeing the image paths
+    tskAuto->closeImage();
+
+    // Cleanup
+    env->ReleaseStringUTFChars(deviceId, (const char *)device_id);
+
+    // if process completes successfully, must call revertAddImgNat or commitAddImgNat to free the TskAutoDb
 }
 
 
@@ -1427,7 +1427,7 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_openFileNat(JNIEnv * env,
         return 0;
     }
 
-	
+    
     TSK_FS_FILE *file_info;
     //open file
     file_info = tsk_fs_file_open_meta(fs_info, NULL, (TSK_INUM_T) file_id);
@@ -1554,7 +1554,7 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_readImgNat(JNIEnv * env,
     if (dynBuf) {
         free(buf);
     }
-	if (copiedbytes == -1) {
+    if (copiedbytes == -1) {
         setThrowTskCoreError(env, tsk_error_get());
     }
     return (jint)copiedbytes;
@@ -1608,7 +1608,7 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_readVsNat(JNIEnv * env,
     }
 
     // package it up for return
-	// adjust number bytes to copy
+    // adjust number bytes to copy
     ssize_t copybytes = bytesread;
     jsize jbuflen = env->GetArrayLength(jbuf);
     if (jbuflen < copybytes)
@@ -1759,8 +1759,8 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_readFsNat(JNIEnv * env,
  * or the start of the slack space 
  */
 typedef enum {
-	TSK_FS_FILE_READ_OFFSET_TYPE_START_OF_FILE = 0x00,
-	TSK_FS_FILE_READ_OFFSET_TYPE_START_OF_SLACK = 0x01,
+    TSK_FS_FILE_READ_OFFSET_TYPE_START_OF_FILE = 0x00,
+    TSK_FS_FILE_READ_OFFSET_TYPE_START_OF_SLACK = 0x01,
 } TSK_FS_FILE_READ_OFFSET_TYPE_ENUM;
 
 /*
@@ -1777,7 +1777,7 @@ JNIEXPORT jint JNICALL
 Java_org_sleuthkit_datamodel_SleuthkitJNI_readFileNat(JNIEnv * env,
     jclass obj, jlong a_file_handle, jbyteArray jbuf, jlong offset, jint offset_type, jlong len)
 {
-	//use fixed size stack-allocated buffer if possible
+    //use fixed size stack-allocated buffer if possible
     char fixed_buf [FIXED_BUF_SIZE];
 
     char * buf = fixed_buf;
@@ -1822,10 +1822,10 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_readFileNat(JNIEnv * env,
 
     // package it up for return
     // adjust number bytes to copy
-	ssize_t copybytes = bytesread;
-	jsize jbuflen = env->GetArrayLength(jbuf);
-	if (jbuflen < copybytes)
-		copybytes = jbuflen;
+    ssize_t copybytes = bytesread;
+    jsize jbuflen = env->GetArrayLength(jbuf);
+    if (jbuflen < copybytes)
+        copybytes = jbuflen;
 
     ssize_t copiedbytes = copyBufToByteArray(env, jbuf, buf, copybytes);
     if (dynBuf) {
@@ -1945,7 +1945,7 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_closeFileNat(JNIEnv * env,
         //exception already set
         return;
     }
-	
+    
     TSK_FS_FILE * file_info = file_handle->fs_file;
     tsk_fs_file_close(file_info); //also closes the attribute
 
diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java
index 9149ed012..2908cbab6 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java
@@ -234,7 +234,6 @@ public void run(String deviceId, String[] imageFilePaths) throws TskCoreExceptio
 				if (0 == tskAutoDbPointer) {
 					throw new TskCoreException("initAddImgNat returned a NULL TskAutoDb pointer");
 				}
-				//runAddImgNat(tskAutoDbPointer, deviceId, imageFilePaths, imageFilePaths.length, timeZone);
 				runAddImgNat(tskAutoDbPointer, deviceId, imageHandle, timeZone);
 			}
 
diff --git a/tsk/auto/auto_db.cpp b/tsk/auto/auto_db.cpp
index 0571089ce..7d45c874d 100644
--- a/tsk/auto/auto_db.cpp
+++ b/tsk/auto/auto_db.cpp
@@ -162,7 +162,7 @@ uint8_t
         return retval;
     }
 
-	return (addImageDetails(a_deviceId));
+    return (addImageDetails(a_deviceId));
 #else
     return openImageUtf8(a_num, a_images, a_type, a_ssize, a_deviceId);
 #endif
@@ -177,11 +177,11 @@ uint8_t
 uint8_t
 TskAutoDb::openImage(const char* a_deviceId)
 {
-	if (m_img_info == NULL) {
-		return 1;
-	}
+    if (m_img_info == NULL) {
+        return 1;
+    }
 
-	return(addImageDetails(a_deviceId));
+    return(addImageDetails(a_deviceId));
 }
 
 /**
@@ -216,36 +216,36 @@ TskAutoDb::addImageDetails(const char* deviceId)
         return 1;
     }
 
-	char **img_ptrs;
+    char **img_ptrs;
 #ifdef TSK_WIN32
-	// convert image paths to UTF-8
-	img_ptrs = (char **)tsk_malloc(m_img_info->num_img * sizeof(char *));
-	if (img_ptrs == NULL) {
-		return 1;
-	}
-
-	for (int i = 0; i < m_img_info->num_img; i++) {
-		char * img2 = (char*)tsk_malloc(1024 * sizeof(char));
-		UTF8 *ptr8;
-		UTF16 *ptr16;
-
-		ptr8 = (UTF8 *)img2;
-		ptr16 = (UTF16 *)m_img_info->images[i];
-
-		uint8_t retval =
-			tsk_UTF16toUTF8_lclorder((const UTF16 **)&ptr16, (UTF16 *)
-				& ptr16[TSTRLEN(m_img_info->images[i]) + 1], &ptr8,
-				(UTF8 *)((uintptr_t)ptr8 + 1024), TSKlenientConversion);
-		if (retval != TSKconversionOK) {
-			tsk_error_reset();
-			tsk_error_set_errno(TSK_ERR_AUTO_UNICODE);
-			tsk_error_set_errstr("Error converting image to UTF-8\n");
-			return 1;
-		}
-		img_ptrs[i] = img2;
-	}
+    // convert image paths to UTF-8
+    img_ptrs = (char **)tsk_malloc(m_img_info->num_img * sizeof(char *));
+    if (img_ptrs == NULL) {
+        return 1;
+    }
+
+    for (int i = 0; i < m_img_info->num_img; i++) {
+        char * img2 = (char*)tsk_malloc(1024 * sizeof(char));
+        UTF8 *ptr8;
+        UTF16 *ptr16;
+
+        ptr8 = (UTF8 *)img2;
+        ptr16 = (UTF16 *)m_img_info->images[i];
+
+        uint8_t retval =
+            tsk_UTF16toUTF8_lclorder((const UTF16 **)&ptr16, (UTF16 *)
+                & ptr16[TSTRLEN(m_img_info->images[i]) + 1], &ptr8,
+                (UTF8 *)((uintptr_t)ptr8 + 1024), TSKlenientConversion);
+        if (retval != TSKconversionOK) {
+            tsk_error_reset();
+            tsk_error_set_errno(TSK_ERR_AUTO_UNICODE);
+            tsk_error_set_errstr("Error converting image to UTF-8\n");
+            return 1;
+        }
+        img_ptrs[i] = img2;
+    }
 #else 
-	img_ptrs = m_img_info->images;
+    img_ptrs = m_img_info->images;
 #endif
 
     // Add the image names
@@ -260,11 +260,11 @@ TskAutoDb::addImageDetails(const char* deviceId)
     }
 
 #ifdef TSK_WIN32
-	//cleanup
-	for (int i = 0; i < m_img_info->num_img; ++i) {
-		free(img_ptrs[i]);
-	}
-	free(img_ptrs);
+    //cleanup
+    for (int i = 0; i < m_img_info->num_img; ++i) {
+        free(img_ptrs[i]);
+    }
+    free(img_ptrs);
 #endif
 
     return 0;
@@ -486,50 +486,50 @@ uint8_t
 TskAutoDb::startAddImage(const char* deviceId)
 {
 
-	if (m_img_info == NULL) {
-		return 1;
-	}
-
-	if (tsk_verbose)
-		tsk_fprintf(stderr, "TskAutoDb::startAddImage: Starting add image process\n");
-
-	if (m_db->releaseSavepoint(TSK_ADD_IMAGE_SAVEPOINT) == 0) {
-		tsk_error_reset();
-		tsk_error_set_errno(TSK_ERR_AUTO_DB);
-		tsk_error_set_errstr("TskAutoDb::startAddImage(): An add-image savepoint already exists");
-		registerError();
-		return 1;
-	}
-
-	// @@@ This check is a bit paranoid, and may need to be removed in the future
-	if (m_db->inTransaction()) {
-		tsk_error_reset();
-		tsk_error_set_errno(TSK_ERR_AUTO_DB);
-		tsk_error_set_errstr("TskAutoDb::startAddImage(): Already in a transaction, image might not be commited");
-		registerError();
-		return 1;
-	}
-
-	if (m_db->createSavepoint(TSK_ADD_IMAGE_SAVEPOINT)) {
-		registerError();
-		return 1;
-	}
-
-	m_imgTransactionOpen = true;
-	if (openImage(deviceId)) {
-		tsk_error_set_errstr2("TskAutoDb::startAddImage");
-		registerError();
-		if (revertAddImage())
-			registerError();
-		return 1;
-	}
-
-	if (m_addFileSystems) {
-		return addFilesInImgToDb();
-	}
-	else {
-		return 0;
-	}
+    if (m_img_info == NULL) {
+        return 1;
+    }
+
+    if (tsk_verbose)
+        tsk_fprintf(stderr, "TskAutoDb::startAddImage: Starting add image process\n");
+
+    if (m_db->releaseSavepoint(TSK_ADD_IMAGE_SAVEPOINT) == 0) {
+        tsk_error_reset();
+        tsk_error_set_errno(TSK_ERR_AUTO_DB);
+        tsk_error_set_errstr("TskAutoDb::startAddImage(): An add-image savepoint already exists");
+        registerError();
+        return 1;
+    }
+
+    // @@@ This check is a bit paranoid, and may need to be removed in the future
+    if (m_db->inTransaction()) {
+        tsk_error_reset();
+        tsk_error_set_errno(TSK_ERR_AUTO_DB);
+        tsk_error_set_errstr("TskAutoDb::startAddImage(): Already in a transaction, image might not be commited");
+        registerError();
+        return 1;
+    }
+
+    if (m_db->createSavepoint(TSK_ADD_IMAGE_SAVEPOINT)) {
+        registerError();
+        return 1;
+    }
+
+    m_imgTransactionOpen = true;
+    if (openImage(deviceId)) {
+        tsk_error_set_errstr2("TskAutoDb::startAddImage");
+        registerError();
+        if (revertAddImage())
+            registerError();
+        return 1;
+    }
+
+    if (m_addFileSystems) {
+        return addFilesInImgToDb();
+    }
+    else {
+        return 0;
+    }
 }
 
 
diff --git a/tsk/auto/tsk_case_db.h b/tsk/auto/tsk_case_db.h
index 0d821095c..86e3cc91e 100644
--- a/tsk/auto/tsk_case_db.h
+++ b/tsk/auto/tsk_case_db.h
@@ -37,7 +37,7 @@ class TskAutoDb:public TskAuto {
     virtual ~ TskAutoDb();
     virtual uint8_t openImage(int, const TSK_TCHAR * const images[],
         TSK_IMG_TYPE_ENUM, unsigned int a_ssize, const char* deviceId = NULL);
-	virtual uint8_t openImage(const char* a_deviceId = NULL);
+    virtual uint8_t openImage(const char* a_deviceId = NULL);
     virtual uint8_t openImageUtf8(int, const char *const images[],
         TSK_IMG_TYPE_ENUM, unsigned int a_ssize, const char* deviceId = NULL);
     virtual void closeImage();
@@ -102,7 +102,7 @@ class TskAutoDb:public TskAuto {
     uint8_t startAddImage(int numImg, const TSK_TCHAR * const imagePaths[],
         TSK_IMG_TYPE_ENUM imgType, unsigned int sSize, const char* deviceId = NULL);
 #ifdef WIN32
-	uint8_t startAddImage(const char* deviceId = NULL);
+    uint8_t startAddImage(const char* deviceId = NULL);
     uint8_t startAddImage(int numImg, const char *const imagePaths[],
         TSK_IMG_TYPE_ENUM imgType, unsigned int sSize, const char* deviceId = NULL);
 #endif
-- 
GitLab