From 30bf820a9821de1343be1132cfdaf331052e9a84 Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Thu, 29 Aug 2019 22:54:34 +0100 Subject: [PATCH] Ensure ordering of columns in pretty printer. --- volatility/cli/text_renderer.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/volatility/cli/text_renderer.py b/volatility/cli/text_renderer.py index 132738a10..eece283ab 100644 --- a/volatility/cli/text_renderer.py +++ b/volatility/cli/text_renderer.py @@ -258,13 +258,14 @@ class PrettyTextRenderer(CLIRenderer): # Always align the tree to the left format_string_list = ["{0:<" + str(max_column_widths[tree_indent_column]) + "s}"] - for column in grid.columns: + sorted_columns = list(sorted(grid.columns, key = lambda x: x.index)) + for column in sorted_columns: format_string_list.append("{" + str(column.index + 1) + ":" + display_alignment + str(max_column_widths[column.name]) + "s}") format_string = column_separator.join(format_string_list) + "\n" - column_titles = [""] + [column.name for column in grid.columns] + column_titles = [""] + [column.name for column in sorted_columns] outfd.write(format_string.format(*column_titles)) for (depth, line) in final_output: - outfd.write(format_string.format("*" * depth, *[line[x] for x in line])) + outfd.write(format_string.format("*" * depth, *[line[column] for column in sorted_columns]))