e30f8b3d5580f0be19ce22334dd97ccb497c49dc jcasper Thu Mar 19 11:40:59 2026 -0700 Handle empty highlight cart variable appropriately (i.e. don't crash), refs #37268 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 306cb390c49..bf26fd7d894 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -2307,31 +2307,31 @@ long chromEnd; char *hexColor; }; struct highlightVar *parseHighlightInfo() // Parse highlight info from cart var to a linked list of highlightVar structs // Accepts four input formats for the highlight variable: // 0) chrom:start-end (format in very old carts) // 1) db.chrom:start-end (format in very old carts) // 2) db.chrom:start-end#hexColor|db.chrom:start-end#hexColor|... (old format) // 3) db#chrom#start#end#hexColor|db#chrom#start#end#hexColor|... (current format, to allow . in seq names) // { struct highlightVar *hlList = NULL; char *highlightDef = cartOptionalString(cart, "highlight"); -if(highlightDef) +if(isNotEmpty(highlightDef)) { int hlCount = chopByChar(highlightDef, '|', NULL, 0); char **hlArr = AllocN(char *, hlCount); char *hlStringCopy = cloneString(highlightDef); chopByChar(hlStringCopy, '|', hlArr, hlCount); int i; for (i=0; i