From 82f84da833a05f08a7c4d07dbcde6efc6c65749b Mon Sep 17 00:00:00 2001 From: Brian Carrier <carrier@sleuthkit.org> Date: Sat, 31 Jul 2021 08:12:02 -0400 Subject: [PATCH] renamed for consistency and increased max depth --- tsk/fs/fs_dir.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/tsk/fs/fs_dir.c b/tsk/fs/fs_dir.c index c63f9d74b..ae526bec3 100644 --- a/tsk/fs/fs_dir.c +++ b/tsk/fs/fs_dir.c @@ -276,7 +276,7 @@ tsk_fs_dir_add(TSK_FS_DIR * a_fs_dir, const TSK_FS_NAME * a_fs_name) * @returns NULL on error */ TSK_FS_DIR * -tsk_fs_dir_internal_open_meta(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, int recursion_depth) +tsk_fs_dir_open_meta_internal(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, int recursion_depth) { TSK_FS_DIR *fs_dir = NULL; TSK_RETVAL_ENUM retval; @@ -285,7 +285,7 @@ tsk_fs_dir_internal_open_meta(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, int recursi || (a_fs->dir_open_meta == NULL)) { tsk_error_set_errno(TSK_ERR_FS_ARG); tsk_error_set_errstr - ("tsk_fs_dir_internal_open_meta: called with NULL or unallocated structures"); + ("tsk_fs_dir_open_meta_internal: called with NULL or unallocated structures"); return NULL; } @@ -302,6 +302,7 @@ tsk_fs_dir_internal_open_meta(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, int recursi /** \ingroup fslib * Open a directory (using its metadata addr) so that each of the files in it can be accessed. +* * @param a_fs File system to analyze * @param a_addr Metadata address of the directory to open * @returns NULL on error @@ -309,7 +310,7 @@ tsk_fs_dir_internal_open_meta(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, int recursi TSK_FS_DIR * tsk_fs_dir_open_meta(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr) { - return tsk_fs_dir_internal_open_meta(a_fs, a_addr, 0); + return tsk_fs_dir_open_meta_internal(a_fs, a_addr, 0); } @@ -503,7 +504,7 @@ tsk_fs_dir_get_name(const TSK_FS_DIR * a_fs_dir, size_t a_idx) #define DIR_STRSZ 4096 /** \internal - * used to keep state between calls to dir_walk_lcl + * used to keep state between calls to dir_walk_internal */ typedef struct { /* Recursive path stuff */ @@ -629,7 +630,7 @@ prioritizeDirNames(TSK_FS_NAME * names, size_t count, int * indexToOrderedIndex) /* dir_walk local function that is used for recursive calls. Callers * should initially call the non-local version. */ static TSK_WALK_RET_ENUM -tsk_fs_dir_walk_lcl(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, +tsk_fs_dir_walk_internal(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, TSK_INUM_T a_addr, TSK_FS_DIR_WALK_FLAG_ENUM a_flags, TSK_FS_DIR_WALK_CB a_action, void *a_ptr, int recursion_depth) { @@ -639,7 +640,7 @@ tsk_fs_dir_walk_lcl(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, int* indexToOrderedIndex = NULL; // get the list of entries in the directory - if ((fs_dir = tsk_fs_dir_internal_open_meta(a_fs, a_addr, recursion_depth + 1)) == NULL) { + if ((fs_dir = tsk_fs_dir_open_meta_internal(a_fs, a_addr, recursion_depth + 1)) == NULL) { return TSK_WALK_ERROR; } @@ -803,7 +804,7 @@ tsk_fs_dir_walk_lcl(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, strlen(fs_file->name->name))) { if (tsk_verbose) { tsk_fprintf(stdout, - "tsk_fs_dir_walk_lcl: directory : %" + "tsk_fs_dir_walk_internal: directory : %" PRIuINUM " exceeded max length / depth\n", fs_file->name->meta_addr); } @@ -834,7 +835,7 @@ tsk_fs_dir_walk_lcl(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, save_bak = a_dinfo->save_inum_named; a_dinfo->save_inum_named = 0; } - retval = tsk_fs_dir_walk_lcl(a_fs, + retval = tsk_fs_dir_walk_internal(a_fs, a_dinfo, fs_file->name->meta_addr, a_flags, a_action, a_ptr, recursion_depth + 1); if (retval == TSK_WALK_ERROR) { @@ -842,7 +843,7 @@ tsk_fs_dir_walk_lcl(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, * loaded, then we still continue */ if (tsk_verbose) { tsk_fprintf(stderr, - "tsk_fs_dir_walk_lcl: error reading directory: %" + "tsk_fs_dir_walk_internal: error reading directory: %" PRIuINUM "\n", fs_file->name->meta_addr); tsk_error_print(stderr); } @@ -874,7 +875,7 @@ tsk_fs_dir_walk_lcl(TSK_FS_INFO * a_fs, DENT_DINFO * a_dinfo, else { if (tsk_verbose) fprintf(stderr, - "tsk_fs_dir_walk_lcl: Loop detected with address %" + "tsk_fs_dir_walk_internal: Loop detected with address %" PRIuINUM, fs_file->name->meta_addr); } } @@ -926,11 +927,11 @@ tsk_fs_dir_internal_walk(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, return 1; } - // 32 is an arbitrary chosen value. - if (recursion_depth > 32) { + // 256 is an arbitrary chosen value. + if (recursion_depth > 256) { tsk_error_set_errno(TSK_ERR_FS_ARG); tsk_error_set_errstr - ("tsk_fs_dir_internal_walk: recursion depth exceeds maximum"); + ("tsk_fs_dir_internal_walk: recursion depth exceeds maximum (%d)", recursion_depth); return NULL; } @@ -956,7 +957,7 @@ tsk_fs_dir_internal_walk(TSK_FS_INFO * a_fs, TSK_INUM_T a_addr, } tsk_release_lock(&a_fs->list_inum_named_lock); - retval = tsk_fs_dir_walk_lcl(a_fs, &dinfo, a_addr, a_flags, + retval = tsk_fs_dir_walk_internal(a_fs, &dinfo, a_addr, a_flags, a_action, a_ptr, recursion_depth); // if we were saving the list of named files in the temp list, -- GitLab