Skip to content
Snippets Groups Projects
Commit c4782816 authored by Ann Priestman's avatar Ann Priestman
Browse files

Moving things around.

parent fb8b9ec0
Branches
Tags
No related merge requests found
......@@ -163,7 +163,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
......@@ -178,11 +178,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));
}
/**
......@@ -217,36 +217,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
......@@ -261,11 +261,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;
......@@ -467,9 +467,9 @@ uint8_t
return 1;
}
if (m_imageWriterEnabled) {
tsk_img_writer_create(m_img_info, m_imageWriterPath);
}
if (m_imageWriterEnabled) {
tsk_img_writer_create(m_img_info, m_imageWriterPath);
}
if (m_addFileSystems) {
return addFilesInImgToDb();
......@@ -491,50 +491,54 @@ 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_imageWriterEnabled) {
tsk_img_writer_create(m_img_info, m_imageWriterPath);
}
if (m_addFileSystems) {
return addFilesInImgToDb();
}
else {
return 0;
}
}
......@@ -592,9 +596,9 @@ uint8_t
registerError();
return 1;
}
if (m_imageWriterEnabled) {
tsk_img_writer_create(m_img_info, m_imageWriterPath);
}
if (m_imageWriterEnabled) {
tsk_img_writer_create(m_img_info, m_imageWriterPath);
}
if (m_addFileSystems) {
return addFilesInImgToDb();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment