074ea922bc80e0c46b93fb22b91426770022e4e2
braney
Tue Aug 18 10:59:40 2026 -0700
lib, cheapcgi: encode some JSON tags and HTML attributes consistently, refs #38123
diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index d476e36a32f..4a883081e32 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -3872,31 +3872,31 @@
if ((trackVersion != NULL) && !isEmpty(trackVersion->version))
{
safef(longLabel, sizeof(longLabel), "%s - Annotation Release %s", tdb->longLabel, trackVersion->version);
}
else
safef(longLabel, sizeof(longLabel), "%s", tdb->longLabel);
}
printf("%s%s\n", longLabel, tdbIsSuper(tdb) ? " Tracks" : "");
}
else
{
if (trackDbSetting(tdb, "wgEncode"))
printf("
");
// set large title font size, but less so for long labels to minimize wrap
- // longLabel can come from a track hub (user-supplied), escape before echoing (XSS)
+ // longLabel can come from a track hub (user-supplied), escape before echoing
printf("%s%s\n", strlen(tdb->longLabel) > 30 ? 133 : 200,
htmlEncode(tdb->longLabel), tdbIsSuper(tdb) ? " tracks" : "");
// Add a description link if there is one. Only for faceted composites for now.
if (isNotEmpty(tdb->html) && (tdbIsComposite(tdb) && sameOk(trackDbLocalSetting(tdb, "compositeTrack"), "faceted")))
{
char *downArrow = "⇓";
enum browserType browser = cgiBrowser();
if (browser == btIE || browser == btFF)
downArrow = "↓";
printf(" ("
"Description%s)", downArrow);
}
}