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/jkOwnLib/supStitch.c src/jkOwnLib/supStitch.c index c8525cf..430f0cb 100644 --- src/jkOwnLib/supStitch.c +++ src/jkOwnLib/supStitch.c @@ -306,31 +306,31 @@ static void ssGraphFree(struct ssGraph **pGraph) /* Free graph. */ { struct ssGraph *graph; if ((graph = *pGraph) != NULL) { freeMem(graph->nodes); freeMem(graph->edges); freez(pGraph); } } boolean tripleCanFollow(struct ffAli *a, struct ffAli *b, aaSeq *qSeq, struct trans3 *t3List) /* Figure out if a can follow b in any one of three reading frames of haystack. */ { -int ahStart, ahEnd, bhStart, bhEnd; +int ahStart = 0, ahEnd = 0, bhStart = 0, bhEnd = 0; trans3Offsets(t3List, a->hStart, a->hEnd, &ahStart, &ahEnd); trans3Offsets(t3List, b->hStart, b->hEnd, &bhStart, &bhEnd); return (a->nStart < b->nStart && a->nEnd < b->nEnd && ahStart < bhStart && ahEnd < bhEnd); } static struct ssGraph *ssGraphMake(struct ffAli *ffList, bioSeq *qSeq, enum ffStringency stringency, boolean isProt, struct trans3 *t3List) /* Make a graph corresponding to ffList */ { int nodeCount = ffAliCount(ffList); int maxEdgeCount = (nodeCount+1)*(nodeCount)/2; int edgeCount = 0; struct ssEdge *edges, *e; struct ssNode *nodes; @@ -374,31 +374,31 @@ { canFollow = (ff->nStart < mid->nStart && ff->nEnd < mid->nEnd && ff->hStart < mid->hStart && ff->hEnd < mid->hEnd); } if (canFollow) { struct ssNode *ffNode = &nodes[i]; int score; int hGap; int nGap; int crossover; nGap = mid->nStart - ff->nEnd; if (t3List) { - int fhStart, fhEnd; + int fhStart = 0, fhEnd = 0; trans3Offsets(t3List, ff->hStart, ff->hEnd, &fhStart, &fhEnd); hGap = mhStart - fhEnd; } else { hGap = mid->hStart - ff->hEnd; } e = &edges[edgeCount++]; assert(edgeCount <= maxEdgeCount); e->nodeIn = ffNode; e->overlap = overlap = -nGap; if (overlap > 0) { int midSize = mid->hEnd - mid->hStart; int ffSize = ff->hEnd - ff->hStart;