f2d3014a3cc95116346eab4675817cf0c65f6d62 braney Tue Aug 18 11:12:35 2026 -0700 hgc: encode item detail text consistently, refs #38123 diff --git src/hg/hgc/bigBedClick.c src/hg/hgc/bigBedClick.c index e3e8914835b..581afb8d859 100644 --- src/hg/hgc/bigBedClick.c +++ src/hg/hgc/bigBedClick.c @@ -282,32 +282,33 @@ // skip an optional '#' on the first field name if (i == 0 && startsWith("#", name)) name = skipBeyondDelimit(name, '#'); if (startsWith("_", name) && !(startsWith("_json", name)) && !(startsWith("json", name))) detailsTabPrintSpecial(name, val, extraFields); else if (slNameInList(tblFieldNames, name)) { userTbl = (struct embeddedTbl *)hashFindVal(fieldsToEmbeddedTbl, name); userTbl->encodedTbl = val; printEmbeddedTable(tdb, userTbl, tableLabelsDy); } else { - printFieldLabelWithId(name, name); - printf("<td>%s</td></tr>\n", val); + // the field name and value come from the hub's bigBed when this is a hub track + printFieldLabelWithId(hubEncode(tdb, name), hubEncode(tdb, name)); + printf("<td>%s</td></tr>\n", hubEncode(tdb, val)); } printCount++; } printf("</table>\n"); dyStringPrintf(tableLabelsDy, "];\n"); jsInline(dyStringCannibalize(&tableLabelsDy)); return printCount; } struct slPair *parseDetailsTablUrls(struct trackDb *tdb) /* Parse detailsUrls setting string into an slPair list of {offset column name, fileOrUrl} */ { char *detailsUrlsStr = trackDbSetting(tdb, "detailsUrls"); if (!detailsUrlsStr) detailsUrlsStr = trackDbSetting(tdb, "detailsTabUrls");