GT-2698 - fix html escaping to use simpler method.

This commit is contained in:
dev747368 2019-04-15 18:18:15 -04:00
parent 6448f0da8f
commit fa7173f9ab
60 changed files with 109 additions and 119 deletions

View File

@ -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<FunctionStatsRowObject> selectedObjects = filterTable.getSelectedRowObjects();
for (FunctionStatsRowObject stats : selectedObjects) {

View File

@ -156,8 +156,8 @@ public class ConflictInfoPanel extends JPanel {
}
private void addAddress(StringBuffer buf, Address addr) {
buf.append("<font color=\"#990000\">" + HTMLUtilities.friendlyEncodeHTML(addr.toString()) +
"</font>");
buf.append(
"<font color=\"#990000\">" + HTMLUtilities.escapeHTML(addr.toString()) + "</font>");
}
private void updateWest() {

View File

@ -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)
? "<html>" + HTMLUtilities.friendlyEncodeHTML(text)
: null);
setToolTipText(
(stringWidth > displayedWidth) ? "<html>" + HTMLUtilities.escapeHTML(text)
: null);
}
@Override

View File

@ -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)
? "<html>" + HTMLUtilities.friendlyEncodeHTML(text)
: null);
setToolTipText(
(stringWidth > displayedWidth) ? "<html>" + HTMLUtilities.escapeHTML(text)
: null);
}
@Override

View File

@ -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))
: ""));
}

View File

@ -298,7 +298,7 @@ class AnalyzeAllOpenProgramsTask extends Task {
buffy.append("<TR>");
buffy.append("<TD>");
buffy.append(specialFontOpen);
buffy.append(HTMLUtilities.friendlyEncodeHTML(program.getName()));
buffy.append(HTMLUtilities.escapeHTML(program.getName()));
buffy.append(specialFontClose);
buffy.append("</TD>");
buffy.append("<TD>");
@ -325,7 +325,7 @@ class AnalyzeAllOpenProgramsTask extends Task {
for (Program program : invalidList) {
buffy.append("<TR>");
buffy.append("<TD>");
buffy.append(HTMLUtilities.friendlyEncodeHTML(program.getName()));
buffy.append(HTMLUtilities.escapeHTML(program.getName()));
buffy.append("</TD>");
buffy.append("<TD>");
buffy.append(program.getLanguageID());

View File

@ -1098,7 +1098,7 @@ public class AutoAnalysisManager implements DomainObjectListener, DomainObjectCl
}
if (GhidraProgramUtilities.shouldAskToAnalyze(program)) {
int answer = OptionDialog.showYesNoDialog(tool.getToolFrame(), "Analyze",
"<html>" + HTMLUtilities.friendlyEncodeHTML(program.getDomainFile().getName()) +
"<html>" + 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);

View File

@ -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();
}

View File

@ -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);
}
}

View File

@ -1466,7 +1466,7 @@ public abstract class CompEditorModel extends CompositeEditorModel {
originalIsChanging = true;
try {
if (hadChanges) {
String message = "<html>" + HTMLUtilities.friendlyEncodeHTML(oldName) +
String message = "<html>" + HTMLUtilities.escapeHTML(oldName) +
" has changed outside the editor.<br>" +
"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 =
"<html>" + HTMLUtilities.friendlyEncodeHTML(oldPath.getPath()) +
"<html>" + HTMLUtilities.escapeHTML(oldPath.getPath()) +
" has changed outside the editor.<br>" +
"Discard edits & reload the " + getTypeName() + "?";
String title = "Reload " + getTypeName() + " Editor?";

View File

@ -302,7 +302,7 @@ public class CParserPlugin extends ProgramPlugin {
list.add(openDTmanagers[i]);
if (!(openDTmanagers[i] instanceof BuiltInDataTypeManager)) {
htmlNamesList += "<li><b>" +
HTMLUtilities.friendlyEncodeHTML(openDTmanagers[i].getName()) + "</b></li>";
HTMLUtilities.escapeHTML(openDTmanagers[i].getName()) + "</b></li>";
}
}
openDTmanagers = list.toArray(new DataTypeManager[0]);

View File

@ -569,8 +569,7 @@ public class CreateStructureDialog extends DialogComponentProvider {
message = EXISITING_STRUCTURE_STATUS_PREFIX;
}
setStatusText(
"<HTML>" + message + "<BR>\"" + HTMLUtilities.friendlyEncodeHTML(name) + "\"");
setStatusText("<HTML>" + message + "<BR>\"" + HTMLUtilities.escapeHTML(name) + "\"");
}
// this class is used instead of a cell renderer so that sorting will

View File

@ -53,7 +53,7 @@ public class DataOrganizationDialog extends DialogComponentProvider {
JPanel headerPanel = new JPanel();
headerPanel.add(new GHtmlLabel("<HTML>Alignment Information for <b>" +
HTMLUtilities.friendlyEncodeHTML(dataTypeManager.getName()) + "</b>.</HTML>"));
HTMLUtilities.escapeHTML(dataTypeManager.getName()) + "</b>.</HTML>"));
alignPanel = new DataOrganizationPanel();
alignPanel.setOrganization(dataOrganization);

View File

@ -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);

View File

@ -334,8 +334,8 @@ public class DataTypeSynchronizer {
buffy.append("<TR BORDER=LEFT>");
buffy.append("<TD VALIGN=\"TOP\">");
buffy.append("<B>").append(
HTMLUtilities.friendlyEncodeHTML(dataTypeManager.getName())).append("</B><HR NOSHADE>");
buffy.append("<B>").append(HTMLUtilities.escapeHTML(dataTypeManager.getName())).append(
"</B><HR NOSHADE>");
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("</TD>");
buffy.append("<TD VALIGN=\"TOP\">");
buffy.append("<B>").append(
HTMLUtilities.friendlyEncodeHTML(sourceArchive.getName())).append("</B><HR NOSHADE>");
buffy.append("<B>").append(HTMLUtilities.escapeHTML(sourceArchive.getName())).append(
"</B><HR NOSHADE>");
buffy.append(otherContent);

View File

@ -197,8 +197,8 @@ class OpenDomainFileTask extends Task {
if (dfile.isInWritableProject() && dfile.canRecover()) {
Runnable r = () -> {
int option = OptionDialog.showYesNoDialog(null, "Crash Recovery Data Found",
"<html>" + HTMLUtilities.friendlyEncodeHTML(dfile.getName()) +
" has crash data.<br>" + "Would you like to recover unsaved changes?");
"<html>" + HTMLUtilities.escapeHTML(dfile.getName()) + " has crash data.<br>" +
"Would you like to recover unsaved changes?");
recoverFile[0] = (option == OptionDialog.OPTION_ONE);
};
SwingUtilities.invokeAndWait(r);

View File

@ -62,7 +62,7 @@ public class CreatePointerAction extends DockingAction {
Msg.showInfo(getClass(), gTree, "Pointers Filter Enabled",
"<html>Newly created pointer is filtered out of view.<br><br>Toggle the " +
"<b>Filter Pointers " + "Action</b> to view the pointer<br>Pointer: " +
HTMLUtilities.friendlyEncodeHTML(newManager.getName() + newPath));
HTMLUtilities.escapeHTML(newManager.getName() + newPath));
return;
}

View File

@ -94,7 +94,7 @@ public class DeleteArchiveAction extends DockingAction {
if (OptionDialog.showOptionDialogWithCancelAsDefaultButton(gTree,
"Confirm Delete Operation",
"<html><b>Are you sure you want to delete archive: " +
HTMLUtilities.friendlyEncodeHTML(node.getName()) + "?<br><br>" +
HTMLUtilities.escapeHTML(node.getName()) + "?<br><br>" +
"<font color=\"red\">(WARNING: This action will permanently " +
"delete the file from disk.)</font></b>",
"Yes", OptionDialog.QUESTION_MESSAGE) != OptionDialog.OPTION_ONE) {

View File

@ -77,7 +77,7 @@ public class RemoveInvalidArchiveFromProgramAction extends DockingAction {
if (OptionDialog.showOptionDialog(gtree, "Confirm Remove Invalid Archive(s)",
"<html><b>Are you sure you want to delete archive: " +
HTMLUtilities.friendlyEncodeHTML(invalidArchiveNode.getName()) +
HTMLUtilities.escapeHTML(invalidArchiveNode.getName()) +
" from the program?<br><br>" +
"<font color=\"red\">(WARNING: This action will disassociate " +
"all datatypes in the program from this archive.)</font></b>",

View File

@ -398,8 +398,8 @@ public class EnumEditorProvider extends ComponentProviderAdapter
newVal = "Missing";
}
msg.append(String.format("<li>%s: 0x%s \u2192 <font color=#ff0000>%s</font></li>",
HTMLUtilities.friendlyEncodeHTML(field),
Long.toHexString(originalEnum.getValue(field)), newVal));
HTMLUtilities.escapeHTML(field), Long.toHexString(originalEnum.getValue(field)),
newVal));
}
msg.append("</ul>");
msg.append(

View File

@ -140,7 +140,7 @@ public class CategoryNode extends GTreeLazyNode implements DataTypeTreeNode {
@Override
public String getToolTip() {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(category.getCategoryPathName());
return "<html>" + HTMLUtilities.escapeHTML(category.getCategoryPathName());
}
@Override

View File

@ -103,7 +103,7 @@ public class DomainFileArchiveNode extends ArchiveNode {
public String getToolTip() {
DomainFile file = ((DomainFileArchive) archive).getDomainFile();
if (file != null) {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(file.getPathname());
return "<html>" + HTMLUtilities.escapeHTML(file.getPathname());
}
return "[Unsaved New Domain File Archive]";
}

View File

@ -54,7 +54,7 @@ public class FileArchiveNode extends ArchiveNode {
public String getToolTip() {
ResourceFile file = fileArchive.getFile();
if (file != null) {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(file.getAbsolutePath());
return "<html>" + HTMLUtilities.escapeHTML(file.getAbsolutePath());
}
return "[Unsaved New Archive]";
}

View File

@ -44,7 +44,7 @@ public class InvalidArchiveNode extends ArchiveNode {
ArchiveType archiveType = ((InvalidFileArchive) archive).getArchiveType();
String type = archiveType == ArchiveType.FILE ? "File" : "Project";
return "<html>Unable to locate " + type + " data type archive: " +
HTMLUtilities.friendlyEncodeHTML(archive.getName());
HTMLUtilities.escapeHTML(archive.getName());
}
@Override

View File

@ -29,7 +29,7 @@ public class ProgramArchiveNode extends DomainFileArchiveNode {
public String getToolTip() {
DomainFile file = ((ProgramArchive) archive).getDomainFile();
if (file != null) {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(file.getPathname());
return "<html>" + HTMLUtilities.escapeHTML(file.getPathname());
}
return "[Unsaved New Program Archive]";
}

View File

@ -37,7 +37,7 @@ public class ProjectArchiveNode extends DomainFileArchiveNode {
public String getToolTip() {
DomainFile file = ((ProjectArchive) archive).getDomainFile();
if (file != null) {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(file.getPathname());
return "<html>" + HTMLUtilities.escapeHTML(file.getPathname());
}
return "[Unsaved New Project Archive]";
}

View File

@ -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

View File

@ -321,10 +321,9 @@ abstract class FlowArrow {
}
public String getDisplayString() {
return "<html><table><tr><td>start</td><td>" +
HTMLUtilities.friendlyEncodeHTML(start.toString()) + "</td><tr><td>end</td><td>" +
HTMLUtilities.friendlyEncodeHTML(end.toString()) + "</td><tr><td>ref type</td><td>" +
refType + "</td></tr></table>";
return "<html><table><tr><td>start</td><td>" + HTMLUtilities.escapeHTML(start.toString()) +
"</td><tr><td>end</td><td>" + HTMLUtilities.escapeHTML(end.toString()) +
"</td><tr><td>ref type</td><td>" + refType + "</td></tr></table>";
}
@Override

View File

@ -50,7 +50,7 @@ public class FunctionTagList extends JList<FunctionTag> {
return "<no comment set>";
}
return "<html>" + HTMLUtilities.friendlyEncodeHTML(tag.getComment());
return "<html>" + HTMLUtilities.escapeHTML(tag.getComment());
}
return "";

View File

@ -90,11 +90,11 @@ public class AddressTypeOverviewColorService
AddressType addressType = getAddressType(address);
StringBuffer buffer = new StringBuffer();
buffer.append("<b>");
buffer.append(HTMLUtilities.friendlyEncodeHTML(getName()));
buffer.append(HTMLUtilities.escapeHTML(getName()));
buffer.append("</b>\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(" )");

View File

@ -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("<b>");
buffer.append(HTMLUtilities.friendlyEncodeHTML(getName()));
buffer.append(HTMLUtilities.escapeHTML(getName()));
buffer.append("</b>\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(" &nbsp&nbsp&nbsp(");
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);
}

View File

@ -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("<html>Close " + HTMLUtilities.friendlyEncodeHTML(programName));
setDescription("<html>Close " + HTMLUtilities.escapeHTML(programName));
return true;
}
};

View File

@ -266,7 +266,7 @@ class ProgramSaveManager {
if (!df.isInWritableProject()) {
return OptionDialog.showOptionDialog(tool.getToolFrame(), "Program Changed",
HTMLUtilities.lineWrapWithHTMLLineBreaks(
"<html>Viewed file '" + HTMLUtilities.friendlyEncodeHTML(filename) +
"<html>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(
"<html>Read-only file '" + HTMLUtilities.friendlyEncodeHTML(filename) +
"<html>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(
"<html>" + HTMLUtilities.friendlyEncodeHTML(filename) +
" has changed.\nDo you want to save it?"),
HTMLUtilities.lineWrapWithHTMLLineBreaks("<html>" + HTMLUtilities.escapeHTML(filename) +
" has changed.\nDo you want to save it?"),
"&Save", "Do&n't Save", OptionDialog.QUESTION_MESSAGE);
if (result == OptionDialog.CANCEL_OPTION) {

View File

@ -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;
}

View File

@ -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;
}

View File

@ -138,7 +138,7 @@ public class SymbolNode extends GTreeSlowLoadingNode implements SymbolTreeNode {
@Override
public String getToolTip() {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(symbol.getName(true));
return "<html>" + HTMLUtilities.escapeHTML(symbol.getName(true));
}
@Override

View File

@ -388,7 +388,7 @@ public abstract class GhidraScript extends FlatProgramAPI {
protected boolean promptToKeepChangesOnException() {
String message = "<html>Encountered exception running script \"" +
HTMLUtilities.friendlyEncodeHTML(sourceFile.getName()) +
HTMLUtilities.escapeHTML(sourceFile.getName()) +
"\".<br><br>Keep the changes to the program?";
//@formatter:off
int choice =

View File

@ -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("<h3>").append(HTML_SPACE).append(
HTMLUtilities.friendlyEncodeHTML(getName())).append("</h3>");
buffer.append("<h3>").append(HTML_SPACE).append(HTMLUtilities.escapeHTML(getName())).append(
"</h3>");
buffer.append(HTML_NEW_LINE);
buffer.append(HTML_SPACE).append(htmlDescription);
buffer.append(HTML_NEW_LINE);

View File

@ -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 = "<br><br>" + parseMessage + "<br>";
}

View File

@ -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);

View File

@ -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;

View File

@ -29,7 +29,7 @@ public class MissingArchiveDataTypeHTMLRepresentation extends HTMLDataTypeRepres
return "<i>Could not find data type archive</i>";
}
return "<i>Could not access data type archive: " +
HTMLUtilities.friendlyEncodeHTML(sourceArchive.getName()) + "</i>";
HTMLUtilities.escapeHTML(sourceArchive.getName()) + "</i>";
}
@Override

View File

@ -253,7 +253,7 @@ public class OpenProgramTask extends Task {
SystemUtilities.runSwingNow(() -> {
int option = OptionDialog.showYesNoDialog(null, "Crash Recovery Data Found",
"<html>" + HTMLUtilities.friendlyEncodeHTML(filename) + " has crash data.<br>" +
"<html>" + HTMLUtilities.escapeHTML(filename) + " has crash data.<br>" +
"Would you like to recover unsaved changes?");
result.set(option == OptionDialog.OPTION_ONE);
});

View File

@ -43,14 +43,14 @@ public class HorizontalRuleAction extends DockingAction {
// '&' of the replacement html entity (like '&lt;') will be consumed by the menudata deity
// and lost forever.
setMenuBarData(new MenuData(new String[] {
"<HTML><CENTER><FONT SIZE=2 COLOR=SILVER>" + HTMLUtilities.friendlyEncodeHTML(topName) +
"<BR>" + HTMLUtilities.friendlyEncodeHTML(bottomName) + "</FONT></CENTER>" }));
"<HTML><CENTER><FONT SIZE=2 COLOR=SILVER>" + HTMLUtilities.escapeHTML(topName) +
"<BR>" + HTMLUtilities.escapeHTML(bottomName) + "</FONT></CENTER>" }));
// the description is meant to be used for the tooltip and is larger
String padding = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
setDescription("<HTML><CENTER><B>" + padding + HTMLUtilities.friendlyEncodeHTML(topName) +
padding + "<B><HR><B>" + padding + HTMLUtilities.friendlyEncodeHTML(bottomName) +
padding + "</B></CENTER>");
setDescription("<HTML><CENTER><B>" + padding + HTMLUtilities.escapeHTML(topName) + padding +
"<B><HR><B>" + padding + HTMLUtilities.escapeHTML(bottomName) + padding +
"</B></CENTER>");
}
@Override

View File

@ -176,7 +176,7 @@ class DiffActionManager {
openCloseProgram2Action.setDescription(
"<html><center>Close Diff View</center><br>" +
"Current diff: " +
"<b>"+HTMLUtilities.friendlyEncodeHTML(firstName)+"</b> to <b>" +HTMLUtilities.friendlyEncodeHTML(secondName)+"</b>");
"<b>"+HTMLUtilities.escapeHTML(firstName)+"</b> to <b>" +HTMLUtilities.escapeHTML(secondName)+"</b>");
//@formatter:on
}

View File

@ -119,10 +119,9 @@ public class ApplyBlockedMatchAction extends DockingAction {
private String getAssociationDisplayString(VTAssociation association) {
return association.getType().toString() + " match with source of <b>" +
HTMLUtilities.friendlyEncodeHTML(association.getSourceAddress().toString()) +
HTMLUtilities.escapeHTML(association.getSourceAddress().toString()) +
"</b> and destination of <b>" +
HTMLUtilities.friendlyEncodeHTML(association.getDestinationAddress().toString()) +
"</b>";
HTMLUtilities.escapeHTML(association.getDestinationAddress().toString()) + "</b>";
}
@Override

View File

@ -99,8 +99,8 @@ public class SummaryPanel extends AbstractMageJPanel<VTWizardStateKey> {
// source program
label.append("Source Program:");
summary.append(sourceProgramName == null ? "(null)"
: HTMLUtilities.friendlyEncodeHTML(sourceProgramName));
summary.append(
sourceProgramName == null ? "(null)" : HTMLUtilities.escapeHTML(sourceProgramName));
label.append("<br>");
summary.append("<br>");
@ -108,7 +108,7 @@ public class SummaryPanel extends AbstractMageJPanel<VTWizardStateKey> {
label.append("Destination Program:");
summary.append(destinationProgramName == null ? "(null)"
: HTMLUtilities.friendlyEncodeHTML(destinationProgramName));
: HTMLUtilities.escapeHTML(destinationProgramName));
label.append("<br>");
summary.append("<br>");

View File

@ -82,7 +82,7 @@ public class VTWizardUtils {
String filename = domainFile.getName();
int result = OptionDialog.showYesNoDialog(parent, "Save Version Tracking Changes?",
"<html>Unsaved Version Tracking changes found for session: " +
HTMLUtilities.friendlyEncodeHTML(filename) + ". <br>" +
HTMLUtilities.escapeHTML(filename) + ". <br>" +
"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?",
"<html>Unsaved Version Tracking changes found for session: " +
HTMLUtilities.friendlyEncodeHTML(filename) + ". <br>" +
HTMLUtilities.escapeHTML(filename) + ". <br>" +
"Would you like to save these changes?");
if (result == OptionDialog.CANCEL_OPTION) {

View File

@ -138,7 +138,7 @@ public class OptionsPanel extends JPanel {
Options currentOptions = getSelectedOptions();
int userChoice = OptionDialog.showOptionDialog(viewPanel, "Restore Defaults?",
"<html>Restore <b>" + HTMLUtilities.friendlyEncodeHTML(currentOptions.getName()) +
"<html>Restore <b>" + HTMLUtilities.escapeHTML(currentOptions.getName()) +
"</b> to default option values <b>and erase current settings?</b>",
"Restore Defaults");
if (userChoice == OptionDialog.CANCEL_OPTION) {

View File

@ -127,7 +127,7 @@ public class FileDropDownSelectionDataModel implements DropDownTextFieldDataMode
public String getDescription(File file) {
boolean isDir = file.isDirectory();
return "<html><table>" + "<tr><td>" + (isDir ? "Directory: " : "File: ") + "</td><td>" +
"<b>" + HTMLUtilities.friendlyEncodeHTML(file.getName()) + "</b>" + "</td></tr>" +
"<b>" + HTMLUtilities.escapeHTML(file.getName()) + "</b>" + "</td></tr>" +
"<tr><td>Size:</td><td>" + (isDir ? "0" : file.length()) + " bytes" + "</td></tr>" +
"<tr><td>Last modified:</td><td>" +
GhidraFileChooser.format.format(new Date(file.lastModified())) + "</td></tr>" +

View File

@ -125,11 +125,10 @@ public class FileLocker {
for (String name : PROPERTY_KEYS) {
buf.append("<tr><td>");
buf.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
buf.append(HTMLUtilities.friendlyEncodeHTML(name));
buf.append(HTMLUtilities.escapeHTML(name));
buf.append(": ");
buf.append("</td><td>");
buf.append(
HTMLUtilities.friendlyEncodeHTML(existingLockProperties.get(name).toString()));
buf.append(HTMLUtilities.escapeHTML(existingLockProperties.get(name).toString()));
buf.append("</td></tr>");
}
buf.append("</table>");

View File

@ -1191,7 +1191,7 @@ public class FrontEndPlugin extends Plugin
// assume no tools in the tool chest
Msg.showInfo(this, tool.getToolFrame(), "Cannot Find Tool",
"<html>Cannot find tool to open file: <b>" +
HTMLUtilities.friendlyEncodeHTML(domainFile.getName()) +
HTMLUtilities.escapeHTML(domainFile.getName()) +
"</b>.<br><br>Make sure you have an appropriate tool installed <br>from the " +
"<b>Tools->Import Default Tools...</b> menu. Alternatively, you can " +
"use <b>Tool->Set Tool Associations</b> menu to change how Ghidra " +

View File

@ -139,13 +139,13 @@ class ToolButton extends EmptyBorderButton implements Draggable, Droppable {
public String getToolTipText(MouseEvent event) {
if (associatedRunningTool != null) {
if (associatedRunningTool instanceof PluginTool) {
return "<html>" + HTMLUtilities.friendlyEncodeHTML(
return "<html>" + HTMLUtilities.escapeHTML(
((PluginTool) associatedRunningTool).getToolFrame().getTitle());
}
return "<html>" + HTMLUtilities.friendlyEncodeHTML(associatedRunningTool.getName());
return "<html>" + HTMLUtilities.escapeHTML(associatedRunningTool.getName());
}
return "<html>" + HTMLUtilities.friendlyEncodeHTML(template.getName());
return "<html>" + HTMLUtilities.escapeHTML(template.getName());
}
public void launchTool(DomainFile domainFile) {

View File

@ -90,7 +90,7 @@ public class ProjectDataDeleteAction extends ProjectDataContextAction {
if (!selectedFiles.isEmpty()) {
DomainFile file = CollectionUtils.any(selectedFiles);
return "<HTML>Are you sure you want to <B><U>permanently</U></B> delete \"" +
HTMLUtilities.friendlyEncodeHTML(file.getName()) + "\"?";
HTMLUtilities.escapeHTML(file.getName()) + "\"?";
}
// only folders are selected, but they contain files

View File

@ -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"));

View File

@ -175,7 +175,7 @@ public abstract class AbstractDetailsPanel extends JPanel {
buffer.append("<B>");
}
buffer.append(HTMLUtilities.friendlyEncodeHTML(string));
buffer.append(HTMLUtilities.escapeHTML(string));
if (isBold) {
buffer.append("</B>");

View File

@ -720,7 +720,7 @@ public class KeyBindingsPanel extends JPanel {
if (description == null || description.trim().isEmpty()) {
description = actions.get(0).getName();
}
statusLabel.setText("<html>" + HTMLUtilities.friendlyEncodeHTML(description));
statusLabel.setText("<html>" + HTMLUtilities.escapeHTML(description));
}
catch (Exception ex) {
statusLabel.setText("");

View File

@ -142,9 +142,9 @@ class PluginInstallerTableModel
if (pluginsThatUseTarget.isEmpty() ||
OptionDialog.showYesNoDialog(parentComponent, "Confirm plugin removal",
"<html>Other plugins depend on " +
HTMLUtilities.friendlyEncodeHTML(targetPluginDescription.getName()) +
"<p><p>" + "Removing it will also remove:" + dependenciesToUnloadHtmlList +
"<p><p>" + "Continue?") == OptionDialog.YES_OPTION) {
HTMLUtilities.escapeHTML(targetPluginDescription.getName()) + "<p><p>" +
"Removing it will also remove:" + dependenciesToUnloadHtmlList + "<p><p>" +
"Continue?") == OptionDialog.YES_OPTION) {
model.removePlugin(targetPluginDescription);
}

View File

@ -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",

View File

@ -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.<p>Which one would like to save to your tool chest?"));
descriptionLabel.setIconTextGap(15);
descriptionLabel.setIcon(OptionDialog.getIconForMessageType(OptionDialog.WARNING_MESSAGE));