From fa7173f9ab1ae01ecb80a722f48d3f0ac6747261 Mon Sep 17 00:00:00 2001 From: dev747368 <48332326+dev747368@users.noreply.github.com> Date: Mon, 15 Apr 2019 18:18:15 -0400 Subject: [PATCH] GT-2698 - fix html escaping to use simpler method. --- .../ghidra/examples/SampleTableProvider.java | 2 +- .../app/merge/listing/ConflictInfoPanel.java | 4 ++-- .../app/merge/listing/VariousChoicesPanel.java | 6 +++--- .../merge/listing/VerticalChoicesPanel.java | 6 +++--- .../ghidra/app/merge/util/ConflictUtility.java | 5 ++--- .../analysis/AnalyzeAllOpenProgramsTask.java | 4 ++-- .../core/analysis/AutoAnalysisManager.java | 2 +- .../core/bookmark/BookmarkNavigator.java | 4 ++-- ...ProgramAddressRelationshipListingHover.java | 6 +++--- .../core/compositeeditor/CompEditorModel.java | 4 ++-- .../app/plugin/core/cparser/CParserPlugin.java | 2 +- .../core/data/CreateStructureDialog.java | 3 +-- .../core/datamgr/DataOrganizationDialog.java | 2 +- .../core/datamgr/DataTypeComparePanel.java | 4 ++-- .../core/datamgr/DataTypeSynchronizer.java | 8 ++++---- .../core/datamgr/OpenDomainFileTask.java | 4 ++-- .../datamgr/actions/CreatePointerAction.java | 2 +- .../datamgr/actions/DeleteArchiveAction.java | 2 +- .../RemoveInvalidArchiveFromProgramAction.java | 2 +- .../datamgr/editor/EnumEditorProvider.java | 4 ++-- .../plugin/core/datamgr/tree/CategoryNode.java | 2 +- .../datamgr/tree/DomainFileArchiveNode.java | 2 +- .../core/datamgr/tree/FileArchiveNode.java | 2 +- .../core/datamgr/tree/InvalidArchiveNode.java | 2 +- .../core/datamgr/tree/ProgramArchiveNode.java | 2 +- .../core/datamgr/tree/ProjectArchiveNode.java | 2 +- .../disassembler/DisassembledViewPlugin.java | 2 +- .../app/plugin/core/flowarrow/FlowArrow.java | 7 +++---- .../core/function/tags/FunctionTagList.java | 2 +- .../AddressTypeOverviewColorService.java | 4 ++-- .../entropy/EntropyOverviewColorService.java | 8 ++++---- .../core/progmgr/ProgramManagerPlugin.java | 2 +- .../core/progmgr/ProgramSaveManager.java | 9 ++++----- .../app/plugin/core/progmgr/RedoAction.java | 2 +- .../app/plugin/core/progmgr/UndoAction.java | 2 +- .../core/symboltree/nodes/SymbolNode.java | 2 +- .../java/ghidra/app/script/GhidraScript.java | 2 +- .../java/ghidra/app/script/ScriptInfo.java | 18 ++++++++---------- .../app/util/cparser/C/CParserUtils.java | 2 +- .../DefaultDataTypeHTMLRepresentation.java | 2 +- .../util/html/HTMLDataTypeRepresentation.java | 4 ++-- ...ssingArchiveDataTypeHTMLRepresentation.java | 2 +- .../ghidra/app/util/task/OpenProgramTask.java | 2 +- .../base/actions/HorizontalRuleAction.java | 10 +++++----- .../plugin/core/diff/DiffActionManager.java | 2 +- .../gui/actions/ApplyBlockedMatchAction.java | 5 ++--- .../feature/vt/gui/wizard/SummaryPanel.java | 6 +++--- .../feature/vt/gui/wizard/VTWizardUtils.java | 4 ++-- .../docking/options/editor/OptionsPanel.java | 2 +- .../FileDropDownSelectionDataModel.java | 2 +- .../src/main/java/generic/util/FileLocker.java | 5 ++--- .../ghidra/framework/main/FrontEndPlugin.java | 2 +- .../java/ghidra/framework/main/ToolButton.java | 6 +++--- .../actions/ProjectDataDeleteAction.java | 2 +- .../actions/ProjectDataOpenToolAction.java | 2 +- .../dialog/AbstractDetailsPanel.java | 2 +- .../plugintool/dialog/KeyBindingsPanel.java | 2 +- .../dialog/PluginInstallerTableModel.java | 6 +++--- .../framework/project/DefaultProject.java | 5 ++--- .../project/tool/SelectChangedToolDialog.java | 5 ++--- 60 files changed, 109 insertions(+), 119 deletions(-) diff --git a/Ghidra/Extensions/SampleTablePlugin/src/main/java/ghidra/examples/SampleTableProvider.java b/Ghidra/Extensions/SampleTablePlugin/src/main/java/ghidra/examples/SampleTableProvider.java index f07eaf3297..fedbf2b8b2 100644 --- a/Ghidra/Extensions/SampleTablePlugin/src/main/java/ghidra/examples/SampleTableProvider.java +++ b/Ghidra/Extensions/SampleTablePlugin/src/main/java/ghidra/examples/SampleTableProvider.java @@ -162,7 +162,7 @@ public class SampleTableProvider extends ComponentProviderAdapter implements Opt StringBuilder buffer = new StringBuilder(); buffer.append("Writing the following objects to file: "); - buffer.append(HTMLUtilities.friendlyEncodeHTML(fileChooserPanel.getFileName())); + buffer.append(HTMLUtilities.escapeHTML(fileChooserPanel.getFileName())); List selectedObjects = filterTable.getSelectedRowObjects(); for (FunctionStatsRowObject stats : selectedObjects) { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ConflictInfoPanel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ConflictInfoPanel.java index 888853c4d4..6e37490638 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ConflictInfoPanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ConflictInfoPanel.java @@ -156,8 +156,8 @@ public class ConflictInfoPanel extends JPanel { } private void addAddress(StringBuffer buf, Address addr) { - buf.append("" + HTMLUtilities.friendlyEncodeHTML(addr.toString()) + - ""); + buf.append( + "" + HTMLUtilities.escapeHTML(addr.toString()) + ""); } private void updateWest() { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VariousChoicesPanel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VariousChoicesPanel.java index 300fca34bf..aa8899594b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VariousChoicesPanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VariousChoicesPanel.java @@ -524,9 +524,9 @@ public class VariousChoicesPanel extends ConflictPanel { (displayedFont != null) ? getFontMetrics(displayedFont) : null; int stringWidth = (fontMetrics != null) ? fontMetrics.stringWidth(displayedText) : 0; - setToolTipText((stringWidth > displayedWidth) - ? "" + HTMLUtilities.friendlyEncodeHTML(text) - : null); + setToolTipText( + (stringWidth > displayedWidth) ? "" + HTMLUtilities.escapeHTML(text) + : null); } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VerticalChoicesPanel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VerticalChoicesPanel.java index 3c6579e83c..beac858a04 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VerticalChoicesPanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VerticalChoicesPanel.java @@ -480,9 +480,9 @@ public class VerticalChoicesPanel extends ConflictPanel { (displayedFont != null) ? getFontMetrics(displayedFont) : null; int stringWidth = (fontMetrics != null) ? fontMetrics.stringWidth(displayedText) : 0; - setToolTipText((stringWidth > displayedWidth) - ? "" + HTMLUtilities.friendlyEncodeHTML(text) - : null); + setToolTipText( + (stringWidth > displayedWidth) ? "" + HTMLUtilities.escapeHTML(text) + : null); } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/util/ConflictUtility.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/util/ConflictUtility.java index a59a41e779..048c7adc78 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/util/ConflictUtility.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/util/ConflictUtility.java @@ -240,7 +240,7 @@ public class ConflictUtility { */ public static String getAddressString(Address address) { return colorString(ADDRESS_COLOR, - ((address != null) ? HTMLUtilities.friendlyEncodeHTML(address.toString()) : "")); + ((address != null) ? HTMLUtilities.escapeHTML(address.toString()) : "")); } /** @@ -251,8 +251,7 @@ public class ConflictUtility { */ public static String getAddressString(Address address, boolean showAddressSpace) { return colorString(ADDRESS_COLOR, - ((address != null) - ? HTMLUtilities.friendlyEncodeHTML(address.toString(showAddressSpace)) + ((address != null) ? HTMLUtilities.escapeHTML(address.toString(showAddressSpace)) : "")); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AnalyzeAllOpenProgramsTask.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AnalyzeAllOpenProgramsTask.java index 43cf35016c..a7ce599f23 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AnalyzeAllOpenProgramsTask.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AnalyzeAllOpenProgramsTask.java @@ -298,7 +298,7 @@ class AnalyzeAllOpenProgramsTask extends Task { buffy.append(""); buffy.append(""); buffy.append(specialFontOpen); - buffy.append(HTMLUtilities.friendlyEncodeHTML(program.getName())); + buffy.append(HTMLUtilities.escapeHTML(program.getName())); buffy.append(specialFontClose); buffy.append(""); buffy.append(""); @@ -325,7 +325,7 @@ class AnalyzeAllOpenProgramsTask extends Task { for (Program program : invalidList) { buffy.append(""); buffy.append(""); - buffy.append(HTMLUtilities.friendlyEncodeHTML(program.getName())); + buffy.append(HTMLUtilities.escapeHTML(program.getName())); buffy.append(""); buffy.append(""); buffy.append(program.getLanguageID()); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AutoAnalysisManager.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AutoAnalysisManager.java index 60052a1064..e85c94a283 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AutoAnalysisManager.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/AutoAnalysisManager.java @@ -1098,7 +1098,7 @@ public class AutoAnalysisManager implements DomainObjectListener, DomainObjectCl } if (GhidraProgramUtilities.shouldAskToAnalyze(program)) { int answer = OptionDialog.showYesNoDialog(tool.getToolFrame(), "Analyze", - "" + HTMLUtilities.friendlyEncodeHTML(program.getDomainFile().getName()) + + "" + HTMLUtilities.escapeHTML(program.getDomainFile().getName()) + " has not been analyzed. Would you like to analyze it now?"); boolean analyzed = answer == OptionDialog.OPTION_ONE; GhidraProgramUtilities.setAnalyzedFlag(program, analyzed); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/bookmark/BookmarkNavigator.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/bookmark/BookmarkNavigator.java index 1546b97a9b..1a32946407 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/bookmark/BookmarkNavigator.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/bookmark/BookmarkNavigator.java @@ -118,11 +118,11 @@ public class BookmarkNavigator { String cat = bookmarks[i].getCategory(); if (cat != null && cat.length() != 0) { buf.append(" ["); - buf.append(HTMLUtilities.friendlyEncodeHTML(cat)); + buf.append(HTMLUtilities.escapeHTML(cat)); buf.append("]"); } buf.append(": "); - buf.append(HTMLUtilities.friendlyEncodeHTML(bookmarks[i].getComment())); + buf.append(HTMLUtilities.escapeHTML(bookmarks[i].getComment())); } return buf.toString(); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/ProgramAddressRelationshipListingHover.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/ProgramAddressRelationshipListingHover.java index 08fb056106..a7f1a313ed 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/ProgramAddressRelationshipListingHover.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/ProgramAddressRelationshipListingHover.java @@ -93,7 +93,7 @@ public class ProgramAddressRelationshipListingHover extends AbstractConfigurable MemoryBlock block = program.getMemory().getBlock(loc); long memblockOffset = loc.subtract(block.getStart()); - appendTableRow(sb, "Memory Block Offset", HTMLUtilities.friendlyEncodeHTML(block.getName()), + appendTableRow(sb, "Memory Block Offset", HTMLUtilities.escapeHTML(block.getName()), memblockOffset); addFunctionInfo(program, loc, sb); @@ -143,8 +143,8 @@ public class ProgramAddressRelationshipListingHover extends AbstractConfigurable Function function = program.getFunctionManager().getFunctionContaining(loc); if (function != null) { long functionOffset = loc.subtract(function.getEntryPoint()); - appendTableRow(sb, "Function Offset", - HTMLUtilities.friendlyEncodeHTML(function.getName()), functionOffset); + appendTableRow(sb, "Function Offset", HTMLUtilities.escapeHTML(function.getName()), + functionOffset); } } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/CompEditorModel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/CompEditorModel.java index f903e0f7c0..19e3fad02f 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/CompEditorModel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/CompEditorModel.java @@ -1466,7 +1466,7 @@ public abstract class CompEditorModel extends CompositeEditorModel { originalIsChanging = true; try { if (hadChanges) { - String message = "" + HTMLUtilities.friendlyEncodeHTML(oldName) + + String message = "" + HTMLUtilities.escapeHTML(oldName) + " has changed outside the editor.
" + "Discard edits & reload the " + getTypeName() + "?"; String title = "Reload " + getTypeName() + " Editor?"; @@ -1570,7 +1570,7 @@ public abstract class CompEditorModel extends CompositeEditorModel { consideringReplacedDataType = true; try { String message = - "" + HTMLUtilities.friendlyEncodeHTML(oldPath.getPath()) + + "" + HTMLUtilities.escapeHTML(oldPath.getPath()) + " has changed outside the editor.
" + "Discard edits & reload the " + getTypeName() + "?"; String title = "Reload " + getTypeName() + " Editor?"; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/cparser/CParserPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/cparser/CParserPlugin.java index 0620659ba1..ff1bc18ef6 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/cparser/CParserPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/cparser/CParserPlugin.java @@ -302,7 +302,7 @@ public class CParserPlugin extends ProgramPlugin { list.add(openDTmanagers[i]); if (!(openDTmanagers[i] instanceof BuiltInDataTypeManager)) { htmlNamesList += "
  • " + - HTMLUtilities.friendlyEncodeHTML(openDTmanagers[i].getName()) + "
  • "; + HTMLUtilities.escapeHTML(openDTmanagers[i].getName()) + ""; } } openDTmanagers = list.toArray(new DataTypeManager[0]); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/data/CreateStructureDialog.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/data/CreateStructureDialog.java index 97e3bca79c..8a9352c783 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/data/CreateStructureDialog.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/data/CreateStructureDialog.java @@ -569,8 +569,7 @@ public class CreateStructureDialog extends DialogComponentProvider { message = EXISITING_STRUCTURE_STATUS_PREFIX; } - setStatusText( - "" + message + "
    \"" + HTMLUtilities.friendlyEncodeHTML(name) + "\""); + setStatusText("" + message + "
    \"" + HTMLUtilities.escapeHTML(name) + "\""); } // this class is used instead of a cell renderer so that sorting will diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataOrganizationDialog.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataOrganizationDialog.java index defd70514f..cd22ec56f5 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataOrganizationDialog.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataOrganizationDialog.java @@ -53,7 +53,7 @@ public class DataOrganizationDialog extends DialogComponentProvider { JPanel headerPanel = new JPanel(); headerPanel.add(new GHtmlLabel("Alignment Information for " + - HTMLUtilities.friendlyEncodeHTML(dataTypeManager.getName()) + ".")); + HTMLUtilities.escapeHTML(dataTypeManager.getName()) + ".")); alignPanel = new DataOrganizationPanel(); alignPanel.setOrganization(dataOrganization); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeComparePanel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeComparePanel.java index 7e3e66195d..670762ce09 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeComparePanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeComparePanel.java @@ -65,8 +65,8 @@ class DataTypeComparePanel extends JPanel { leftPanelLabel.setBorder(BorderFactory.createEmptyBorder(2, 8, 2, 0)); rightPanelLabel.setBorder(BorderFactory.createEmptyBorder(2, 8, 2, 0)); - setLabelText(leftPanelLabel, HTMLUtilities.friendlyEncodeHTML(clientName) + ":"); - setLabelText(rightPanelLabel, HTMLUtilities.friendlyEncodeHTML(sourceName) + ":"); + setLabelText(leftPanelLabel, HTMLUtilities.escapeHTML(clientName) + ":"); + setLabelText(rightPanelLabel, HTMLUtilities.escapeHTML(sourceName) + ":"); add(leftPanel); add(rightPanel); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeSynchronizer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeSynchronizer.java index 2d02bf3880..8a813cc4be 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeSynchronizer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeSynchronizer.java @@ -334,8 +334,8 @@ public class DataTypeSynchronizer { buffy.append(""); buffy.append(""); - buffy.append("").append( - HTMLUtilities.friendlyEncodeHTML(dataTypeManager.getName())).append("
    "); + buffy.append("").append(HTMLUtilities.escapeHTML(dataTypeManager.getName())).append( + "
    "); buffy.append(htmlContent); // horizontal spacer below the inner table in order to force a minimum width @@ -347,8 +347,8 @@ public class DataTypeSynchronizer { buffy.append(""); buffy.append(""); - buffy.append("").append( - HTMLUtilities.friendlyEncodeHTML(sourceArchive.getName())).append("
    "); + buffy.append("").append(HTMLUtilities.escapeHTML(sourceArchive.getName())).append( + "
    "); buffy.append(otherContent); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/OpenDomainFileTask.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/OpenDomainFileTask.java index 955bdca1f2..9e8b025950 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/OpenDomainFileTask.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/OpenDomainFileTask.java @@ -197,8 +197,8 @@ class OpenDomainFileTask extends Task { if (dfile.isInWritableProject() && dfile.canRecover()) { Runnable r = () -> { int option = OptionDialog.showYesNoDialog(null, "Crash Recovery Data Found", - "" + HTMLUtilities.friendlyEncodeHTML(dfile.getName()) + - " has crash data.
    " + "Would you like to recover unsaved changes?"); + "" + HTMLUtilities.escapeHTML(dfile.getName()) + " has crash data.
    " + + "Would you like to recover unsaved changes?"); recoverFile[0] = (option == OptionDialog.OPTION_ONE); }; SwingUtilities.invokeAndWait(r); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/CreatePointerAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/CreatePointerAction.java index b7c9de34cc..34440b5a0a 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/CreatePointerAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/CreatePointerAction.java @@ -62,7 +62,7 @@ public class CreatePointerAction extends DockingAction { Msg.showInfo(getClass(), gTree, "Pointers Filter Enabled", "Newly created pointer is filtered out of view.

    Toggle the " + "Filter Pointers " + "Action to view the pointer
    Pointer: " + - HTMLUtilities.friendlyEncodeHTML(newManager.getName() + newPath)); + HTMLUtilities.escapeHTML(newManager.getName() + newPath)); return; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/DeleteArchiveAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/DeleteArchiveAction.java index 55e8764c51..ee790a84b3 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/DeleteArchiveAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/DeleteArchiveAction.java @@ -94,7 +94,7 @@ public class DeleteArchiveAction extends DockingAction { if (OptionDialog.showOptionDialogWithCancelAsDefaultButton(gTree, "Confirm Delete Operation", "Are you sure you want to delete archive: " + - HTMLUtilities.friendlyEncodeHTML(node.getName()) + "?

    " + + HTMLUtilities.escapeHTML(node.getName()) + "?

    " + "(WARNING: This action will permanently " + "delete the file from disk.)
    ", "Yes", OptionDialog.QUESTION_MESSAGE) != OptionDialog.OPTION_ONE) { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/RemoveInvalidArchiveFromProgramAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/RemoveInvalidArchiveFromProgramAction.java index 8989f60f44..2b8b847c18 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/RemoveInvalidArchiveFromProgramAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/RemoveInvalidArchiveFromProgramAction.java @@ -77,7 +77,7 @@ public class RemoveInvalidArchiveFromProgramAction extends DockingAction { if (OptionDialog.showOptionDialog(gtree, "Confirm Remove Invalid Archive(s)", "Are you sure you want to delete archive: " + - HTMLUtilities.friendlyEncodeHTML(invalidArchiveNode.getName()) + + HTMLUtilities.escapeHTML(invalidArchiveNode.getName()) + " from the program?

    " + "(WARNING: This action will disassociate " + "all datatypes in the program from this archive.)
    ", diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/editor/EnumEditorProvider.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/editor/EnumEditorProvider.java index a0ea09c89a..2ca3cbf75c 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/editor/EnumEditorProvider.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/editor/EnumEditorProvider.java @@ -398,8 +398,8 @@ public class EnumEditorProvider extends ComponentProviderAdapter newVal = "Missing"; } msg.append(String.format("
  • %s: 0x%s \u2192 %s
  • ", - HTMLUtilities.friendlyEncodeHTML(field), - Long.toHexString(originalEnum.getValue(field)), newVal)); + HTMLUtilities.escapeHTML(field), Long.toHexString(originalEnum.getValue(field)), + newVal)); } msg.append(""); msg.append( diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/CategoryNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/CategoryNode.java index 07afb274d1..f51f932c16 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/CategoryNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/CategoryNode.java @@ -140,7 +140,7 @@ public class CategoryNode extends GTreeLazyNode implements DataTypeTreeNode { @Override public String getToolTip() { - return "" + HTMLUtilities.friendlyEncodeHTML(category.getCategoryPathName()); + return "" + HTMLUtilities.escapeHTML(category.getCategoryPathName()); } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/DomainFileArchiveNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/DomainFileArchiveNode.java index 2f0b9dff2b..04b28e318e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/DomainFileArchiveNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/DomainFileArchiveNode.java @@ -103,7 +103,7 @@ public class DomainFileArchiveNode extends ArchiveNode { public String getToolTip() { DomainFile file = ((DomainFileArchive) archive).getDomainFile(); if (file != null) { - return "" + HTMLUtilities.friendlyEncodeHTML(file.getPathname()); + return "" + HTMLUtilities.escapeHTML(file.getPathname()); } return "[Unsaved New Domain File Archive]"; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/FileArchiveNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/FileArchiveNode.java index 2a4502c07e..16cb4b0340 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/FileArchiveNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/FileArchiveNode.java @@ -54,7 +54,7 @@ public class FileArchiveNode extends ArchiveNode { public String getToolTip() { ResourceFile file = fileArchive.getFile(); if (file != null) { - return "" + HTMLUtilities.friendlyEncodeHTML(file.getAbsolutePath()); + return "" + HTMLUtilities.escapeHTML(file.getAbsolutePath()); } return "[Unsaved New Archive]"; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/InvalidArchiveNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/InvalidArchiveNode.java index a182cfa8e8..2701694147 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/InvalidArchiveNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/InvalidArchiveNode.java @@ -44,7 +44,7 @@ public class InvalidArchiveNode extends ArchiveNode { ArchiveType archiveType = ((InvalidFileArchive) archive).getArchiveType(); String type = archiveType == ArchiveType.FILE ? "File" : "Project"; return "Unable to locate " + type + " data type archive: " + - HTMLUtilities.friendlyEncodeHTML(archive.getName()); + HTMLUtilities.escapeHTML(archive.getName()); } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProgramArchiveNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProgramArchiveNode.java index ad028cc367..207801570b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProgramArchiveNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProgramArchiveNode.java @@ -29,7 +29,7 @@ public class ProgramArchiveNode extends DomainFileArchiveNode { public String getToolTip() { DomainFile file = ((ProgramArchive) archive).getDomainFile(); if (file != null) { - return "" + HTMLUtilities.friendlyEncodeHTML(file.getPathname()); + return "" + HTMLUtilities.escapeHTML(file.getPathname()); } return "[Unsaved New Program Archive]"; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProjectArchiveNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProjectArchiveNode.java index 1799990639..f1ac16311a 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProjectArchiveNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/tree/ProjectArchiveNode.java @@ -37,7 +37,7 @@ public class ProjectArchiveNode extends DomainFileArchiveNode { public String getToolTip() { DomainFile file = ((ProjectArchive) archive).getDomainFile(); if (file != null) { - return "" + HTMLUtilities.friendlyEncodeHTML(file.getPathname()); + return "" + HTMLUtilities.escapeHTML(file.getPathname()); } return "[Unsaved New Project Archive]"; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/DisassembledViewPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/DisassembledViewPlugin.java index 346e9ff2dd..22bdcd9bdb 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/DisassembledViewPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/DisassembledViewPlugin.java @@ -440,7 +440,7 @@ public class DisassembledViewPlugin extends ProgramPlugin implements DomainObjec setFont(font); setToolTipText(TOOLTIP_TEXT_PREPEND + - HTMLUtilities.friendlyEncodeHTML(currentLocation.getAddress().toString())); + HTMLUtilities.escapeHTML(currentLocation.getAddress().toString())); // make sure the first value is highlighted to indicate // that it is the selected program location diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/flowarrow/FlowArrow.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/flowarrow/FlowArrow.java index 0ce903adf1..ed72e4bdae 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/flowarrow/FlowArrow.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/flowarrow/FlowArrow.java @@ -321,10 +321,9 @@ abstract class FlowArrow { } public String getDisplayString() { - return "
    start" + - HTMLUtilities.friendlyEncodeHTML(start.toString()) + "
    end" + - HTMLUtilities.friendlyEncodeHTML(end.toString()) + "
    ref type" + - refType + "
    "; + return "
    start" + HTMLUtilities.escapeHTML(start.toString()) + + "
    end" + HTMLUtilities.escapeHTML(end.toString()) + + "
    ref type" + refType + "
    "; } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/tags/FunctionTagList.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/tags/FunctionTagList.java index 68e941692b..ccbd7c530b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/tags/FunctionTagList.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/tags/FunctionTagList.java @@ -50,7 +50,7 @@ public class FunctionTagList extends JList { return ""; } - return "" + HTMLUtilities.friendlyEncodeHTML(tag.getComment()); + return "" + HTMLUtilities.escapeHTML(tag.getComment()); } return ""; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/addresstype/AddressTypeOverviewColorService.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/addresstype/AddressTypeOverviewColorService.java index d94ce22913..9817106f1f 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/addresstype/AddressTypeOverviewColorService.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/addresstype/AddressTypeOverviewColorService.java @@ -90,11 +90,11 @@ public class AddressTypeOverviewColorService AddressType addressType = getAddressType(address); StringBuffer buffer = new StringBuffer(); buffer.append(""); - buffer.append(HTMLUtilities.friendlyEncodeHTML(getName())); + buffer.append(HTMLUtilities.escapeHTML(getName())); buffer.append("\n"); buffer.append(addressType.getDescription()); buffer.append(" ("); - buffer.append(HTMLUtilities.friendlyEncodeHTML(getBlockName(address))); + buffer.append(HTMLUtilities.escapeHTML(getBlockName(address))); buffer.append(" "); buffer.append(address); buffer.append(" )"); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/entropy/EntropyOverviewColorService.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/entropy/EntropyOverviewColorService.java index bbab0fbcad..16d2b5d6f8 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/entropy/EntropyOverviewColorService.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/overview/entropy/EntropyOverviewColorService.java @@ -88,17 +88,17 @@ public class EntropyOverviewColorService implements OverviewColorService { double entropy = (entropyScaled * 8.0d) / 255; // convert back from palette scale to original entropy value StringBuilder buffer = new StringBuilder(); buffer.append(""); - buffer.append(HTMLUtilities.friendlyEncodeHTML(getName())); + buffer.append(HTMLUtilities.escapeHTML(getName())); buffer.append("\n"); buffer.append(" "); buffer.append(formatter.format(entropy)); buffer.append(" "); - buffer.append(HTMLUtilities.friendlyEncodeHTML(getKnotName(entropyScaled))); + buffer.append(HTMLUtilities.escapeHTML(getKnotName(entropyScaled))); buffer.append(" "); buffer.append("    ("); - buffer.append(HTMLUtilities.friendlyEncodeHTML(getBlockName(address))); + buffer.append(HTMLUtilities.escapeHTML(getBlockName(address))); buffer.append(" "); - buffer.append(HTMLUtilities.friendlyEncodeHTML(address.toString())); + buffer.append(HTMLUtilities.escapeHTML(address.toString())); buffer.append(" )"); return HTMLUtilities.toWrappedHTML(buffer.toString(), 0); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java index ee53560928..edd6bcb45e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java @@ -558,7 +558,7 @@ public class ProgramManagerPlugin extends Plugin implements ProgramManager { Program program = context.getProgram(); String programName = "'" + program.getDomainFile().getName() + "'"; getMenuBarData().setMenuItemName("&Close " + programName); - setDescription("Close " + HTMLUtilities.friendlyEncodeHTML(programName)); + setDescription("Close " + HTMLUtilities.escapeHTML(programName)); return true; } }; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramSaveManager.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramSaveManager.java index e1a680695b..3d0d725487 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramSaveManager.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramSaveManager.java @@ -266,7 +266,7 @@ class ProgramSaveManager { if (!df.isInWritableProject()) { return OptionDialog.showOptionDialog(tool.getToolFrame(), "Program Changed", HTMLUtilities.lineWrapWithHTMLLineBreaks( - "Viewed file '" + HTMLUtilities.friendlyEncodeHTML(filename) + + "Viewed file '" + HTMLUtilities.escapeHTML(filename) + "' has been changed. \n" + "If you continue, your changes will be lost!"), "Continue", OptionDialog.QUESTION_MESSAGE) != OptionDialog.CANCEL_OPTION; } @@ -274,16 +274,15 @@ class ProgramSaveManager { if (df.isReadOnly()) { return OptionDialog.showOptionDialog(tool.getToolFrame(), "Program Changed", HTMLUtilities.lineWrapWithHTMLLineBreaks( - "Read-only file '" + HTMLUtilities.friendlyEncodeHTML(filename) + + "Read-only file '" + HTMLUtilities.escapeHTML(filename) + "' has been changed. \n" + "If you continue, your changes will be lost!"), "Continue", OptionDialog.QUESTION_MESSAGE) != OptionDialog.CANCEL_OPTION; } int result = OptionDialog.showOptionDialog(tool.getToolFrame(), "Save Program?", - HTMLUtilities.lineWrapWithHTMLLineBreaks( - "" + HTMLUtilities.friendlyEncodeHTML(filename) + - " has changed.\nDo you want to save it?"), + HTMLUtilities.lineWrapWithHTMLLineBreaks("" + HTMLUtilities.escapeHTML(filename) + + " has changed.\nDo you want to save it?"), "&Save", "Do&n't Save", OptionDialog.QUESTION_MESSAGE); if (result == OptionDialog.CANCEL_OPTION) { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/RedoAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/RedoAction.java index a6fc77d483..dec19e5e6f 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/RedoAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/RedoAction.java @@ -69,7 +69,7 @@ public class RedoAction extends ProgramContextAction { String programName = program.getDomainFile().getName(); getMenuBarData().setMenuItemName("Redo " + programName); String tip = HTMLUtilities.toWrappedHTML( - "Redo " + HTMLUtilities.friendlyEncodeHTML(program.getRedoName())); + "Redo " + HTMLUtilities.escapeHTML(program.getRedoName())); setDescription(tip); return true; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/UndoAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/UndoAction.java index 6cbda5e2b2..f7acb78497 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/UndoAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/UndoAction.java @@ -76,7 +76,7 @@ public class UndoAction extends ProgramContextAction { String programName = program.getDomainFile().getName(); getMenuBarData().setMenuItemName("Undo " + programName); String tip = HTMLUtilities.toWrappedHTML( - "Undo " + HTMLUtilities.friendlyEncodeHTML(program.getUndoName())); + "Undo " + HTMLUtilities.escapeHTML(program.getUndoName())); setDescription(tip); return true; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java index 0c984efe74..d6a63e4b25 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java @@ -138,7 +138,7 @@ public class SymbolNode extends GTreeSlowLoadingNode implements SymbolTreeNode { @Override public String getToolTip() { - return "" + HTMLUtilities.friendlyEncodeHTML(symbol.getName(true)); + return "" + HTMLUtilities.escapeHTML(symbol.getName(true)); } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/script/GhidraScript.java b/Ghidra/Features/Base/src/main/java/ghidra/app/script/GhidraScript.java index 6c5ac7a1a0..c74ae17c18 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/script/GhidraScript.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/script/GhidraScript.java @@ -388,7 +388,7 @@ public abstract class GhidraScript extends FlatProgramAPI { protected boolean promptToKeepChangesOnException() { String message = "Encountered exception running script \"" + - HTMLUtilities.friendlyEncodeHTML(sourceFile.getName()) + + HTMLUtilities.escapeHTML(sourceFile.getName()) + "\".

    Keep the changes to the program?"; //@formatter:off int choice = diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/script/ScriptInfo.java b/Ghidra/Features/Base/src/main/java/ghidra/app/script/ScriptInfo.java index 04ed59f735..7226b77f4a 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/script/ScriptInfo.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/script/ScriptInfo.java @@ -434,22 +434,20 @@ public class ScriptInfo { */ public String getToolTipText() { String htmlDescription = (description == null) ? "No Description" - : HTMLUtilities.friendlyEncodeHTML(description).replaceAll("\n", + : HTMLUtilities.escapeHTML(description).replaceAll("\n", HTML_NEW_LINE + HTML_SPACE); String htmlAuthor = HTMLUtilities.bold("Author:") + HTML_SPACE + - HTMLUtilities.friendlyEncodeHTML(toToolTip(author)); - String htmlCategory = - HTMLUtilities.bold("Category:") + HTML_SPACE + HTMLUtilities.friendlyEncodeHTML( - toToolTip(StringUtilities.convertStringArray(category, "."))); + HTMLUtilities.escapeHTML(toToolTip(author)); + String htmlCategory = HTMLUtilities.bold("Category:") + HTML_SPACE + + HTMLUtilities.escapeHTML(toToolTip(StringUtilities.convertStringArray(category, "."))); String htmlKeyBinding = HTMLUtilities.bold("Key Binding:") + HTML_SPACE + getKeybindingToolTip(); - String htmlMenuPath = - HTMLUtilities.bold("Menu Path:") + HTML_SPACE + HTMLUtilities.friendlyEncodeHTML( - toToolTip(StringUtilities.convertStringArray(menupath, "."))); + String htmlMenuPath = HTMLUtilities.bold("Menu Path:") + HTML_SPACE + + HTMLUtilities.escapeHTML(toToolTip(StringUtilities.convertStringArray(menupath, "."))); StringBuilder buffer = new StringBuilder(); - buffer.append("

    ").append(HTML_SPACE).append( - HTMLUtilities.friendlyEncodeHTML(getName())).append("

    "); + buffer.append("

    ").append(HTML_SPACE).append(HTMLUtilities.escapeHTML(getName())).append( + "

    "); buffer.append(HTML_NEW_LINE); buffer.append(HTML_SPACE).append(htmlDescription); buffer.append(HTML_NEW_LINE); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/cparser/C/CParserUtils.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/cparser/C/CParserUtils.java index 9a14183377..0354cad3e8 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/cparser/C/CParserUtils.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/cparser/C/CParserUtils.java @@ -314,7 +314,7 @@ public class CParserUtils { // -remove newlines because the line wrapping utility always breaks on those parseMessage = errorMessage.replaceAll("\n", " "); parseMessage = HTMLUtilities.lineWrapWithHTMLLineBreaks( - HTMLUtilities.friendlyEncodeHTML(parseMessage), 80); + HTMLUtilities.escapeHTML(parseMessage), 80); parseMessage = "

    " + parseMessage + "
    "; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/DefaultDataTypeHTMLRepresentation.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/DefaultDataTypeHTMLRepresentation.java index 5d465b8677..8e8dd79a96 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/DefaultDataTypeHTMLRepresentation.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/DefaultDataTypeHTMLRepresentation.java @@ -71,7 +71,7 @@ public class DefaultDataTypeHTMLRepresentation extends HTMLDataTypeRepresentatio StringBuilder buffer = new StringBuilder(); String headerText = header.getText(); - String encodedHeaderText = HTMLUtilities.friendlyEncodeHTML(headerText); + String encodedHeaderText = HTMLUtilities.escapeHTML(headerText); headerText = wrapStringInColor(encodedHeaderText, header.getTextColor()); buffer.append(headerText); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/HTMLDataTypeRepresentation.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/HTMLDataTypeRepresentation.java index 44c37bf603..05e0ecedde 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/HTMLDataTypeRepresentation.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/HTMLDataTypeRepresentation.java @@ -135,7 +135,7 @@ public abstract class HTMLDataTypeRepresentation { if (comment == null) { comment = dataType.getDescription(); } - return comment == null ? "" : HTMLUtilities.friendlyEncodeHTML(comment); + return comment == null ? "" : HTMLUtilities.escapeHTML(comment); } protected static String truncateAsNecessary(String string) { @@ -327,7 +327,7 @@ public abstract class HTMLDataTypeRepresentation { // put the path info in CategoryPath path = dataType.getCategoryPath(); - headerLines.add(new TextLine(HTMLUtilities.friendlyEncodeHTML(path.getPath()))); + headerLines.add(new TextLine(HTMLUtilities.escapeHTML(path.getPath()))); headerLines.add(new TextLine(BR)); return headerLines; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/MissingArchiveDataTypeHTMLRepresentation.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/MissingArchiveDataTypeHTMLRepresentation.java index 11ad60db0f..99c7809c2a 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/MissingArchiveDataTypeHTMLRepresentation.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/html/MissingArchiveDataTypeHTMLRepresentation.java @@ -29,7 +29,7 @@ public class MissingArchiveDataTypeHTMLRepresentation extends HTMLDataTypeRepres return "Could not find data type archive"; } return "Could not access data type archive: " + - HTMLUtilities.friendlyEncodeHTML(sourceArchive.getName()) + ""; + HTMLUtilities.escapeHTML(sourceArchive.getName()) + ""; } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/task/OpenProgramTask.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/task/OpenProgramTask.java index f3e3e99d9e..7e232ab58e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/task/OpenProgramTask.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/task/OpenProgramTask.java @@ -253,7 +253,7 @@ public class OpenProgramTask extends Task { SystemUtilities.runSwingNow(() -> { int option = OptionDialog.showYesNoDialog(null, "Crash Recovery Data Found", - "" + HTMLUtilities.friendlyEncodeHTML(filename) + " has crash data.
    " + + "" + HTMLUtilities.escapeHTML(filename) + " has crash data.
    " + "Would you like to recover unsaved changes?"); result.set(option == OptionDialog.OPTION_ONE); }); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/base/actions/HorizontalRuleAction.java b/Ghidra/Features/Base/src/main/java/ghidra/base/actions/HorizontalRuleAction.java index 9ff26dea9b..568855e25c 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/base/actions/HorizontalRuleAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/base/actions/HorizontalRuleAction.java @@ -43,14 +43,14 @@ public class HorizontalRuleAction extends DockingAction { // '&' of the replacement html entity (like '<') will be consumed by the menudata deity // and lost forever. setMenuBarData(new MenuData(new String[] { - "
    " + HTMLUtilities.friendlyEncodeHTML(topName) + - "
    " + HTMLUtilities.friendlyEncodeHTML(bottomName) + "
    " })); + "
    " + HTMLUtilities.escapeHTML(topName) + + "
    " + HTMLUtilities.escapeHTML(bottomName) + "
    " })); // the description is meant to be used for the tooltip and is larger String padding = "     "; - setDescription("
    " + padding + HTMLUtilities.friendlyEncodeHTML(topName) + - padding + "
    " + padding + HTMLUtilities.friendlyEncodeHTML(bottomName) + - padding + "
    "); + setDescription("
    " + padding + HTMLUtilities.escapeHTML(topName) + padding + + "
    " + padding + HTMLUtilities.escapeHTML(bottomName) + padding + + "
    "); } @Override diff --git a/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffActionManager.java b/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffActionManager.java index ebf095d301..a0c5edbec4 100644 --- a/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffActionManager.java +++ b/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffActionManager.java @@ -176,7 +176,7 @@ class DiffActionManager { openCloseProgram2Action.setDescription( "
    Close Diff View

    " + "Current diff: " + - ""+HTMLUtilities.friendlyEncodeHTML(firstName)+" to " +HTMLUtilities.friendlyEncodeHTML(secondName)+""); + ""+HTMLUtilities.escapeHTML(firstName)+" to " +HTMLUtilities.escapeHTML(secondName)+""); //@formatter:on } diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/ApplyBlockedMatchAction.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/ApplyBlockedMatchAction.java index be4c93bcc1..14c44af73d 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/ApplyBlockedMatchAction.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/ApplyBlockedMatchAction.java @@ -119,10 +119,9 @@ public class ApplyBlockedMatchAction extends DockingAction { private String getAssociationDisplayString(VTAssociation association) { return association.getType().toString() + " match with source of " + - HTMLUtilities.friendlyEncodeHTML(association.getSourceAddress().toString()) + + HTMLUtilities.escapeHTML(association.getSourceAddress().toString()) + " and destination of " + - HTMLUtilities.friendlyEncodeHTML(association.getDestinationAddress().toString()) + - ""; + HTMLUtilities.escapeHTML(association.getDestinationAddress().toString()) + "
    "; } @Override diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/SummaryPanel.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/SummaryPanel.java index a501abed09..33256dec72 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/SummaryPanel.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/SummaryPanel.java @@ -99,8 +99,8 @@ public class SummaryPanel extends AbstractMageJPanel { // source program label.append("Source Program:"); - summary.append(sourceProgramName == null ? "(null)" - : HTMLUtilities.friendlyEncodeHTML(sourceProgramName)); + summary.append( + sourceProgramName == null ? "(null)" : HTMLUtilities.escapeHTML(sourceProgramName)); label.append("
    "); summary.append("
    "); @@ -108,7 +108,7 @@ public class SummaryPanel extends AbstractMageJPanel { label.append("Destination Program:"); summary.append(destinationProgramName == null ? "(null)" - : HTMLUtilities.friendlyEncodeHTML(destinationProgramName)); + : HTMLUtilities.escapeHTML(destinationProgramName)); label.append("
    "); summary.append("
    "); diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/VTWizardUtils.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/VTWizardUtils.java index abe5b8f6ee..e338d08f75 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/VTWizardUtils.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/wizard/VTWizardUtils.java @@ -82,7 +82,7 @@ public class VTWizardUtils { String filename = domainFile.getName(); int result = OptionDialog.showYesNoDialog(parent, "Save Version Tracking Changes?", "Unsaved Version Tracking changes found for session: " + - HTMLUtilities.friendlyEncodeHTML(filename) + ".
    " + + HTMLUtilities.escapeHTML(filename) + ".
    " + "Would you like to save these changes?"); boolean doSave = result == OptionDialog.YES_OPTION; @@ -100,7 +100,7 @@ public class VTWizardUtils { String filename = domainFile.getName(); int result = OptionDialog.showYesNoCancelDialog(parent, "Save Version Tracking Changes?", "Unsaved Version Tracking changes found for session: " + - HTMLUtilities.friendlyEncodeHTML(filename) + ".
    " + + HTMLUtilities.escapeHTML(filename) + ".
    " + "Would you like to save these changes?"); if (result == OptionDialog.CANCEL_OPTION) { diff --git a/Ghidra/Framework/Docking/src/main/java/docking/options/editor/OptionsPanel.java b/Ghidra/Framework/Docking/src/main/java/docking/options/editor/OptionsPanel.java index 79e6cbb9b5..0feb84ebb6 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/options/editor/OptionsPanel.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/options/editor/OptionsPanel.java @@ -138,7 +138,7 @@ public class OptionsPanel extends JPanel { Options currentOptions = getSelectedOptions(); int userChoice = OptionDialog.showOptionDialog(viewPanel, "Restore Defaults?", - "Restore " + HTMLUtilities.friendlyEncodeHTML(currentOptions.getName()) + + "Restore " + HTMLUtilities.escapeHTML(currentOptions.getName()) + " to default option values and erase current settings?", "Restore Defaults"); if (userChoice == OptionDialog.CANCEL_OPTION) { diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/filechooser/FileDropDownSelectionDataModel.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/filechooser/FileDropDownSelectionDataModel.java index 203d1a97c9..ba2197b301 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/filechooser/FileDropDownSelectionDataModel.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/filechooser/FileDropDownSelectionDataModel.java @@ -127,7 +127,7 @@ public class FileDropDownSelectionDataModel implements DropDownTextFieldDataMode public String getDescription(File file) { boolean isDir = file.isDirectory(); return "" + "" + + "" + HTMLUtilities.escapeHTML(file.getName()) + "" + "" + "" + "" + diff --git a/Ghidra/Framework/Generic/src/main/java/generic/util/FileLocker.java b/Ghidra/Framework/Generic/src/main/java/generic/util/FileLocker.java index 051e88c7f5..56088a4dca 100644 --- a/Ghidra/Framework/Generic/src/main/java/generic/util/FileLocker.java +++ b/Ghidra/Framework/Generic/src/main/java/generic/util/FileLocker.java @@ -125,11 +125,10 @@ public class FileLocker { for (String name : PROPERTY_KEYS) { buf.append(""); } buf.append("
    " + (isDir ? "Directory: " : "File: ") + "" + - "" + HTMLUtilities.friendlyEncodeHTML(file.getName()) + "" + "
    Size:" + (isDir ? "0" : file.length()) + " bytes" + "
    Last modified:" + GhidraFileChooser.format.format(new Date(file.lastModified())) + "
    "); buf.append("     "); - buf.append(HTMLUtilities.friendlyEncodeHTML(name)); + buf.append(HTMLUtilities.escapeHTML(name)); buf.append(": "); buf.append(""); - buf.append( - HTMLUtilities.friendlyEncodeHTML(existingLockProperties.get(name).toString())); + buf.append(HTMLUtilities.escapeHTML(existingLockProperties.get(name).toString())); buf.append("
    "); diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FrontEndPlugin.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FrontEndPlugin.java index 0cc9fcef5a..98ec7244ef 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FrontEndPlugin.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FrontEndPlugin.java @@ -1191,7 +1191,7 @@ public class FrontEndPlugin extends Plugin // assume no tools in the tool chest Msg.showInfo(this, tool.getToolFrame(), "Cannot Find Tool", "Cannot find tool to open file: " + - HTMLUtilities.friendlyEncodeHTML(domainFile.getName()) + + HTMLUtilities.escapeHTML(domainFile.getName()) + ".

    Make sure you have an appropriate tool installed
    from the " + "Tools->Import Default Tools... menu. Alternatively, you can " + "use Tool->Set Tool Associations menu to change how Ghidra " + diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolButton.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolButton.java index fd6eaa14de..275fd5ea8d 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolButton.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolButton.java @@ -139,13 +139,13 @@ class ToolButton extends EmptyBorderButton implements Draggable, Droppable { public String getToolTipText(MouseEvent event) { if (associatedRunningTool != null) { if (associatedRunningTool instanceof PluginTool) { - return "" + HTMLUtilities.friendlyEncodeHTML( + return "" + HTMLUtilities.escapeHTML( ((PluginTool) associatedRunningTool).getToolFrame().getTitle()); } - return "" + HTMLUtilities.friendlyEncodeHTML(associatedRunningTool.getName()); + return "" + HTMLUtilities.escapeHTML(associatedRunningTool.getName()); } - return "" + HTMLUtilities.friendlyEncodeHTML(template.getName()); + return "" + HTMLUtilities.escapeHTML(template.getName()); } public void launchTool(DomainFile domainFile) { diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataDeleteAction.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataDeleteAction.java index 66e9be467c..571fb19ce6 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataDeleteAction.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataDeleteAction.java @@ -90,7 +90,7 @@ public class ProjectDataDeleteAction extends ProjectDataContextAction { if (!selectedFiles.isEmpty()) { DomainFile file = CollectionUtils.any(selectedFiles); return "Are you sure you want to permanently delete \"" + - HTMLUtilities.friendlyEncodeHTML(file.getName()) + "\"?"; + HTMLUtilities.escapeHTML(file.getName()) + "\"?"; } // only folders are selected, but they contain files diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataOpenToolAction.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataOpenToolAction.java index fe9e779244..606315b08e 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataOpenToolAction.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/main/projectdata/actions/ProjectDataOpenToolAction.java @@ -33,7 +33,7 @@ public class ProjectDataOpenToolAction extends ProjectDataContextAction { public ProjectDataOpenToolAction(String owner, String group, String toolName, Icon icon) { super("Open" + toolName, owner); this.toolName = toolName; - String[] menuPath = { "Open With", HTMLUtilities.friendlyEncodeHTML(toolName) }; + String[] menuPath = { "Open With", HTMLUtilities.escapeHTML(toolName) }; setPopupMenuData(new MenuData(menuPath, icon, "Open")); setHelpLocation(new HelpLocation(owner, "Open_File_With")); diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/AbstractDetailsPanel.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/AbstractDetailsPanel.java index cfb1cfeb83..eee941777a 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/AbstractDetailsPanel.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/AbstractDetailsPanel.java @@ -175,7 +175,7 @@ public abstract class AbstractDetailsPanel extends JPanel { buffer.append(""); } - buffer.append(HTMLUtilities.friendlyEncodeHTML(string)); + buffer.append(HTMLUtilities.escapeHTML(string)); if (isBold) { buffer.append(""); diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/KeyBindingsPanel.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/KeyBindingsPanel.java index 1336c0bd1a..972488ab9d 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/KeyBindingsPanel.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/KeyBindingsPanel.java @@ -720,7 +720,7 @@ public class KeyBindingsPanel extends JPanel { if (description == null || description.trim().isEmpty()) { description = actions.get(0).getName(); } - statusLabel.setText("" + HTMLUtilities.friendlyEncodeHTML(description)); + statusLabel.setText("" + HTMLUtilities.escapeHTML(description)); } catch (Exception ex) { statusLabel.setText(""); diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/PluginInstallerTableModel.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/PluginInstallerTableModel.java index f0347780be..4da854761f 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/PluginInstallerTableModel.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/PluginInstallerTableModel.java @@ -142,9 +142,9 @@ class PluginInstallerTableModel if (pluginsThatUseTarget.isEmpty() || OptionDialog.showYesNoDialog(parentComponent, "Confirm plugin removal", "Other plugins depend on " + - HTMLUtilities.friendlyEncodeHTML(targetPluginDescription.getName()) + - "

    " + "Removing it will also remove:" + dependenciesToUnloadHtmlList + - "

    " + "Continue?") == OptionDialog.YES_OPTION) { + HTMLUtilities.escapeHTML(targetPluginDescription.getName()) + "

    " + + "Removing it will also remove:" + dependenciesToUnloadHtmlList + "

    " + + "Continue?") == OptionDialog.YES_OPTION) { model.removePlugin(targetPluginDescription); } diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/DefaultProject.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/DefaultProject.java index 3a514ccb0d..45799a8386 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/DefaultProject.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/DefaultProject.java @@ -209,9 +209,8 @@ public class DefaultProject implements Project { return null; } - String projectStr = "Project: " + HTMLUtilities.friendlyEncodeHTML(locator.getLocation()) + - System.getProperty("file.separator") + - HTMLUtilities.friendlyEncodeHTML(locator.getName()); + String projectStr = "Project: " + HTMLUtilities.escapeHTML(locator.getLocation()) + + System.getProperty("file.separator") + HTMLUtilities.escapeHTML(locator.getName()); String lockInformation = lock.getExistingLockFileInformation(); if (!lock.canForceLock()) { Msg.showInfo(getClass(), null, "Project Locked", diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/tool/SelectChangedToolDialog.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/tool/SelectChangedToolDialog.java index 940e1c5429..7503d3eea5 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/tool/SelectChangedToolDialog.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/project/tool/SelectChangedToolDialog.java @@ -57,9 +57,8 @@ public class SelectChangedToolDialog extends DialogComponentProvider { JPanel panel = new JPanel(new BorderLayout()); String toolName = toolList.get(0).getToolName(); - JLabel descriptionLabel = - new GHtmlLabel(HTMLUtilities.toHTML("There are multiple changed instances of " + - HTMLUtilities.friendlyEncodeHTML(toolName) + + JLabel descriptionLabel = new GHtmlLabel(HTMLUtilities.toHTML( + "There are multiple changed instances of " + HTMLUtilities.escapeHTML(toolName) + " running.

    Which one would like to save to your tool chest?")); descriptionLabel.setIconTextGap(15); descriptionLabel.setIcon(OptionDialog.getIconForMessageType(OptionDialog.WARNING_MESSAGE));