d261f558e0a577ee269fe55215505668cdcb6f2a
markd
  Wed Jul 7 07:09:11 2021 -0700
Address several cases of possible uninitialized variables detected by -O3.  None of these appear to be actually bugs due to the flow of the code

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index eb2a210..b8c9af9 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -14388,33 +14388,33 @@
 sqlDyStringPrintf(dy, "and tName = '%s'", tName);
 sr = sqlGetResult(conn, dy->string);
 row = sqlNextRow(sr);
 if (row == NULL)
     errAbort("Couldn't loadPslAt %s:%d-%d", tName, tStart, tEnd);
 psl = pslLoad(row + hasBin);
 sqlFreeResult(&sr);
 freeDyString(&dy);
 hFreeConn(&conn);
 return psl;
 }
 
 struct psl *loadPslFromRangePair(char *track, char *rangePair)
 /* Load a specific psl given 'qName:qStart-qEnd tName:tStart-tEnd' in rangePair. */
 {
-char *qRange, *tRange;
-char *qName, *tName;
-int qStart, qEnd, tStart, tEnd;
+char *qRange = NULL, *tRange = NULL;
+char *qName = NULL, *tName = NULL;
+int qStart = 0, qEnd = 0, tStart = 0, tEnd = 0;
 qRange = nextWord(&rangePair);
 tRange = nextWord(&rangePair);
 if (tRange == NULL)
     errAbort("Expecting two ranges in loadPslFromRangePair");
 mustParseRange(qRange, &qName, &qStart, &qEnd);
 mustParseRange(tRange, &tName, &tStart, &tEnd);
 return loadPslAt(track, qName, qStart, qEnd, tName, tStart, tEnd);
 }
 
 void longXenoPsl1Given(struct trackDb *tdb, char *item,
                        char *otherOrg, char *otherChromTable,
                        char *otherDb, struct psl *psl, char *pslTableName )
 /* Put up cross-species alignment when the second species
  * sequence is in a nib file, AND psl record is given. */
 {