95807c7178fd38d52564f06df9fd5b90ceca1d24
braney
  Wed Sep 2 11:20:44 2026 -0700
hgTracks, hgc, hgPhyloPlace: small fixes from the v503 Preview II review, refs #38172

hgTracks.c: skipBeyondDelimit returns NULL when the delimiter is absent, and
the caller decremented and printed it without checking.  The noYearDbs list
keeps every assembly that reaches it carrying a '(' today, so nothing shows,
but printf used to print "(null)" where htmlEncode now walks off the end.
Fall back to the whole freeze name.

gtexTracks.c: the guard before the in place truncation was two bytes stricter
than the buffer needs, so a description just over the budget printed in full.
Say what the buffer requirement actually is.  vcfTrack.c has the same shape a
byte the other way and is already right.

hgPhyloPlace.c: initialize size, as the two sibling call sites do.
cgiMemBlobFind always sets it when it returns a block, so this is for
consistency.

bigBedClick.c: hubEncode was called twice on the same string in one
statement.

diff --git src/hg/hgPhyloPlace/hgPhyloPlace.c src/hg/hgPhyloPlace/hgPhyloPlace.c
index a124267970b..b794175da20 100644
--- src/hg/hgPhyloPlace/hgPhyloPlace.c
+++ src/hg/hgPhyloPlace/hgPhyloPlace.c
@@ -57,31 +57,31 @@
 char *fileBinaryCoords = cartOptionalString(cart, cartVar);
 // Also get the file name for error reporting.
 safef(cartVar, sizeof cartVar, "%s__filename", fileVar);
 char *fileName = cartOptionalString(cart, cartVar);
 if (fileName == NULL)
     fileName = "<uploaded data>";
 if (isNotEmpty(filePlainContents))
     {
     lf = lineFileOnString(fileName, TRUE, cloneString(trimSpaces(filePlainContents)));
     }
 else if (isNotEmpty(fileBinaryCoords))
     {
     fprintf(stderr, "%s=%s fileBinaryCoords=%s\n", cartVar, fileName, fileBinaryCoords);
     /* The cart holds the address and size of the uploaded bytes, but any
      * request can set that variable, so only use a block cheapcgi handed out. */
-    unsigned long size;
+    unsigned long size = 0;
     char *mem = cgiMemBlobFind(fileBinaryCoords, &size);
     if (mem != NULL)
 	lf = lineFileDecompressMem(TRUE, mem, size);
     }
 return lf;
 }
 
 static void selectOrg(char **pOrg, char **pLabel)
 /* Search for config files in hgPhyloPlaceData.  If there is more than one
  * supported organism, then make a menu / select input for supported organisms;
  * reload the page on change. */
 {
 struct slPair *orgLabelList = phyloPlaceOrgList(cart);
 if (orgLabelList == NULL)
     errAbort("Sorry, this server is not configured to perform phylogenetic placement.");