diff --git a/bindings/java/jni/dataModel_SleuthkitJNI.cpp b/bindings/java/jni/dataModel_SleuthkitJNI.cpp index 48a0ea0e1e16df3e8ebdaddd2aa338ede0b85231..ccbc5c4d79708a69a38684fb0dc7a7acaa95c7c8 100644 --- a/bindings/java/jni/dataModel_SleuthkitJNI.cpp +++ b/bindings/java/jni/dataModel_SleuthkitJNI.cpp @@ -478,7 +478,23 @@ JNIEXPORT jstring JNICALL return env->NewStringUTF(none); } else { TSK_HDB_INFO * db = m_hashDbs.at(dbHandle-1); - if((db != NULL) && (db->idx_info != NULL)) { + if (db == NULL) { + setThrowTskCoreError(env, "Invalid database"); + return env->NewStringUTF(none); + } + + ///@todo there isn't a db type for this (would be needed to get legacy index filename) + /*if(db->db_type == TSK_HDB_DBTYPE_NSRL_SHA1_ID) { + db->hash_type = TSK_HDB_HTYPE_SHA1_ID; + }*/ + //else { + db->hash_type = TSK_HDB_HTYPE_MD5_ID; + //} + + // Call setup to populate the idx_info struct so we can get the filename + tsk_hdb_idxsetup(db, db->hash_type); + + if(db->idx_info != NULL) { snprintf(cpath, 1024, "%" PRIttocTSK, db->idx_info->idx_fname); jstring jname = env->NewStringUTF(cpath); return jname;