--- a/amtog.c 2021-09-03 01:29:06.000000000 -0600 +++ b/amtog.c 2022-01-27 15:06:31.588058271 -0700 @@ -42,7 +42,7 @@ main(int argc, char *argv[]) { int m,n,outdigit; int argnum,i,j,outcode,val; - int unsym0,unsym1,loop0; + int unsym0=0,unsym1=0,loop0=0; char *arg,sw,ochar; boolean badargs; boolean nswitch,sswitch,gswitch,hswitch,qswitch; --- a/complg.c 2022-01-27 14:48:51.481846888 -0700 +++ b/complg.c 2022-01-27 15:07:10.324101957 -0700 @@ -74,7 +74,7 @@ main(int argc, char *argv[]) int j,m,n,argnum; int codetype,outcode; graph *g; - size_t ii,ned,nedc,nn,loops,loopsc,gwords; + size_t ii,ned,nedc,nn,loops,loopsc=0,gwords; nauty_counter nin; char *arg,sw; static graph *gq; --- a/dreadnaut.c 2021-09-03 01:29:06.000000000 -0600 +++ b/dreadnaut.c 2022-01-27 15:03:23.323844799 -0700 @@ -389,7 +389,7 @@ main(int argc, char *argv[]) unsigned long uli; size_t sli; set *gp; - double timebefore,timeafter,mintime; + double timebefore=0.0,timeafter=0.0,mintime; char filename[515]; int sgn,sgorg,nperm; int multiplicity,actmult; --- a/dretodot.c 2022-01-27 14:51:58.387049903 -0700 +++ b/dretodot.c 2022-01-27 15:09:06.284238473 -0700 @@ -252,7 +252,7 @@ double ComputeFontsize(int vtx) { int main(int argc, char *argv[]) { - int m, n, c, a, i, j, k, end, n_count; + int m=0, n, c, a, i, j, k, end, n_count; size_t j1, e_count; int argnum, initorg, cell, numCol, modcode, vtx, refcode, MaxV, MaxE; char *arg, sw; @@ -266,10 +266,10 @@ main(int argc, char *argv[]) char model[10]; int numcells, flind, indivtx; long minil, maxil; - double hsize, vsize, fsize; + double hsize, vsize, fsize=0.0; sparsegraph g, g1; list *liststart, *listend; - int nodescale, distance, StInd, StIndDist, RnkInd, RnkIndDist; + int nodescale, distance, StInd=0, StIndDist, RnkInd, RnkIndDist=0; HELP; PUTVERSION; --- a/genbg.c 2022-01-27 14:48:51.496846904 -0700 +++ b/genbg.c 2022-01-27 15:12:30.389485368 -0700 @@ -1192,7 +1192,7 @@ genextend(graph *g, int n2, int *deg, in graph gx[MAXN]; int degx[MAXN]; boolean rigidx; - int dneed,need,nfeet,hideg,deg1,ft[MAXN],nfrag,frag[MAXN]; + int dneed,need,nfeet=0,hideg,deg1,ft[MAXN],nfrag=0,frag[MAXN]; #ifdef INSTRUMENT boolean haschild; --- a/genquarticg.c 2022-01-27 14:48:51.497846905 -0700 +++ b/genquarticg.c 2022-01-27 15:21:33.366207213 -0700 @@ -230,8 +230,8 @@ STATIC_POPCNTFUNC(void,extend, (int n, graph *g, edgestruct *edge, pairstruct *epair, int numpair, int *epairorbit, int *multar, setword *zar, int *col00w, boolean connectflag), { - int vm1, vm2, vm3, vm4, vt1, vt2, vt3, vt4, c, b, mcol1, - tcol, got_one, i, j, numpair1, numdovi, maxdovi, i1, j1, i2, j2, + int vm1, vm2, vm3, vm4, vt1, vt2, vt3, vt4, c, b, mcol1=0, + tcol, got_one, i, j, numpair1, numdovi, maxdovi=0, i1, j1, i2, j2, temp, mult, multm, rely, numedge, dcol, dcolp, e1, e2; int firsttime[MAXN], firsttimey[MAXN], multar1[MAXN], col00[MAXN], col00w1[MAXN], doviorbit[3*MAXN], @@ -246,7 +246,7 @@ STATIC_POPCNTFUNC(void,extend, dovistruct dovi[3*MAXN]; dovistruct dovimax; register setword gi1, gi2, gj1, gj2; - boolean conf; + boolean conf=FALSE; ///////////////////////////////////////////////////////////////////////// if( n == splitlevel ) --- a/genrang.c 2022-01-27 14:48:34.277828907 -0700 +++ b/genrang.c 2022-01-27 15:13:13.772537840 -0700 @@ -972,7 +972,7 @@ main(int argc, char *argv[]) static FILE *outfile; char *outfilename; sparsegraph sg; - boolean usesparse,digraph,bipartite; + boolean usesparse,digraph,bipartite=FALSE; #if MAXN graph g[MAXM*1L*MAXN]; --- a/gtools.c 2021-09-03 01:29:06.000000000 -0600 +++ b/gtools.c 2022-01-27 15:05:27.364985818 -0700 @@ -404,8 +404,8 @@ char* getecline(FILE *f) /* read an edge_code line */ /* No trailing \n or \0 is added. Immediate EOF causes NULL return. */ { - size_t headsize,bodysize; - int sizesize,edgesize; + size_t headsize=0,bodysize=0; + int sizesize=0,edgesize=0; int c1,c,i; DYNALLSTAT(unsigned char,s,s_sz); @@ -616,7 +616,7 @@ stringtograph(char *s, graph *g, int m) /* Assumes g is big enough to hold it. */ { char *p; - int n,i,j,k,v,x,nb,need; + int n,i,j,k,v,x=0,nb,need; size_t ii; set *gi,*gj; boolean done; @@ -759,7 +759,7 @@ stringtograph_inc(char *s, graph *g, int */ { char *p; - int n,i,j,k,v,x,nb,need; + int n,i,j,k,v,x=0,nb,need; size_t ii; set *gi,*gj; boolean done; @@ -914,7 +914,7 @@ readgg(FILE *f, graph *g, int reqm, int */ { char *s,*p; - int m,n; + int m=0,n; if ((readg_line = gtools_getline(f)) == NULL) return NULL; @@ -1067,7 +1067,7 @@ readgg_inc(FILE *f, graph *g, int reqm, */ { char *s,*p; - int m,n; + int m=0,n; if ((readg_line = gtools_getline(f)) == NULL) return NULL; @@ -1178,7 +1178,7 @@ stringtosparsegraph(char *s, sparsegraph * Also returns the number of loops */ { char *p,*q; - int n,nde,i,j,k,vv,x,nb,need; + int n,nde,i,j,k,vv,x=0,nb,need; int *d,*e; size_t *v; int loops; --- a/gutil1.c 2022-01-27 14:48:51.504846912 -0700 +++ b/gutil1.c 2022-01-27 15:11:35.084418476 -0700 @@ -163,7 +163,9 @@ POPCNTFUNC(void,degstats2, return; } -#if !MAXN +#if MAXN + memset(indeg, 0, MAXN * sizeof(int)); +#else if (digraph) { DYNALLOC1(int,indeg,indeg_sz,n,"degstats2"); --- a/gutil2.c 2022-01-27 14:48:51.517846926 -0700 +++ b/gutil2.c 2022-01-27 15:05:57.316019608 -0700 @@ -352,7 +352,7 @@ POPCNTFUNC(int,conncontent,(graph *g, in graph h[WORDSIZE]; setword gj; int i,j,v1,v2,x,y; - int minv,mindeg,deg,goodv; + int minv=0,mindeg,deg,goodv; long ne; if (m > 1) ABORT("conncontent only implemented for m=1"); --- a/hamheuristic.c 2021-09-03 01:29:06.000000000 -0600 +++ b/hamheuristic.c 2022-01-27 15:13:45.493576198 -0700 @@ -252,14 +252,14 @@ main(int argc, char *argv[]) { sparsegraph sg; int n,codetype; - int argnum,i,j,outcode,tvalue; + int argnum,i,j,outcode=0,tvalue; char *arg,sw; boolean badargs; boolean pswitch,sswitch,gswitch,qswitch,Lswitch,tswitch,vswitch,uswitch; long Lvalue; double t; char *infilename,*outfilename; - FILE *infile,*outfile; + FILE *infile,*outfile=NULL; nauty_counter nin,nout,nNO,nYES,nTIMEOUT; int status; DYNALLSTAT(int,cyc,cyc_sz); --- a/labelg.c 2022-01-27 14:48:27.491821814 -0700 +++ b/labelg.c 2022-01-27 15:19:55.446067843 -0700 @@ -99,14 +99,14 @@ main(int argc, char *argv[]) sparsegraph sg,sh; int m,n,codetype; int argnum,j,outcode; - char *arg,sw,*fmt; + char *arg,sw,*fmt=NULL; boolean badargs,digraph; boolean sswitch,gswitch,qswitch,fswitch,Oswitch; boolean iswitch,Iswitch,Kswitch,Mswitch,Sswitch; boolean uswitch,tswitch,Cswitch,Wswitch,zswitch; boolean dooutput; int tabsize,outinvar; - int inv,mininvarlevel,maxinvarlevel,invararg; + int inv,mininvarlevel=0,maxinvarlevel=0,invararg; long minil,maxil; double t; char *infilename,*outfilename; --- a/linegraphg.c 2021-09-03 01:29:06.000000000 -0600 +++ b/linegraphg.c 2022-01-27 15:20:35.461124800 -0700 @@ -27,7 +27,7 @@ linegraph(sparsegraph *g, sparsegraph *h size_t *gv,*hv; int gnv,hnv,jj; size_t i,j,k,gnde,hnde,xhnde,num; - size_t hi,lo,mid,v,w; + size_t hi,lo,mid=0,v,w; sortlists_sg(g); SG_VDE(g,gv,gd,ge); @@ -113,7 +113,7 @@ totalgraph(sparsegraph *g, sparsegraph * size_t *gv,*hv; int gnv,hnv,jj; size_t i,j,k,gnde,hnde,xhnde,num; - size_t hi,lo,mid,v,w; + size_t hi,lo,mid=0,v,w; sortlists_sg(g); SG_VDE(g,gv,gd,ge); --- a/listg.c 2022-01-27 14:48:51.529846938 -0700 +++ b/listg.c 2022-01-27 15:21:47.262226991 -0700 @@ -522,7 +522,7 @@ main(int argc, char *argv[]) boolean sswitch,Mswitch,Wswitch,Lswitch,Eswitch; boolean bswitch,Gswitch,yswitch,Yswitch,Hswitch; int linelength; - char *infilename,*outfilename,*yarg; + char *infilename,*outfilename,*yarg=NULL; HELP; PUTVERSION; --- a/naugraph.c 2022-01-27 14:48:51.557846967 -0700 +++ b/naugraph.c 2022-01-27 15:02:35.827787094 -0700 @@ -192,7 +192,7 @@ POPCNTFUNC(void,refine,(graph *g, int *l int cnt,bmin,bmax; long longcode; set *gptr; - int maxcell,maxpos,hint; + int maxcell,maxpos=0,hint; DEF_DYNINT(workperm,n,"refine"); DEF_DYNSET(workset,m,"refine"); @@ -345,7 +345,7 @@ POPCNTFUNC(void,refine1,(graph *g, int * int cnt,bmin,bmax; long longcode; set *gptr,workset0; - int maxcell,maxpos,hint; + int maxcell,maxpos=0,hint; DEF_DYNINT(workperm,n,"refine1"); DEF_DYNINT(bucket,n+2,"refine1"); --- a/nautinv.c 2022-01-27 14:48:51.579846990 -0700 +++ b/nautinv.c 2022-01-27 15:06:53.684083192 -0700 @@ -1575,7 +1575,7 @@ STATIC_POPCNTFUNC(int,semirefine, int cnt,bmin,bmax; long longcode; set *gptr; - int maxcell,maxpos,hint; + int maxcell,maxpos=0,hint; DEF_DYNINT(workperm,n,"refine"); DEF_DYNSET(workset,m,"refine"); --- a/nauty.c 2021-09-03 01:29:06.000000000 -0600 +++ b/nauty.c 2022-01-27 15:01:32.331709964 -0700 @@ -565,7 +565,7 @@ firstpathnode(int *lab, int *ptn, int le #endif { int tv; - int tv1,index,rtnlevel,tcellsize,tc,childcount,qinvar,refcode; + int tv1,index,rtnlevel,tcellsize,tc,childcount=0,qinvar,refcode; #if !MAXN set *tcell; tcnode *tcnode_this; --- a/planarg.c 2021-09-03 01:29:06.000000000 -0600 +++ b/planarg.c 2022-01-27 15:22:14.294265462 -0700 @@ -171,7 +171,7 @@ int main(int argc, char *argv[]) { char *infilename,*outfilename; - FILE *infile,*outfile; + FILE *infile,*outfile=NULL; sparsegraph sg; boolean badargs; boolean verbose,nonplanar,quiet; --- a/planarity.c 2021-09-03 01:29:06.000000000 -0600 +++ b/planarity.c 2022-01-27 15:08:13.333174408 -0700 @@ -803,7 +803,7 @@ sparseg_adjl_remove_dir_edge_no_red (t_v A will be left with "holes" */ { - int cur_e, prev_e; + int cur_e, prev_e=0; cur_e = V[u].first_edge; if (cur_e == NIL) @@ -4687,7 +4687,7 @@ embedg_recover_embedding ( - for edge e, find its index in A: this should be found in either the embed_graph[v] record of the mult_edges[v] record */ - int index_embed, v, mult, w, v_w_in_embed, new_first_edge; + int index_embed, v, mult, w, v_w_in_embed=0, new_first_edge; boolean set_next; IF_DEB( --- a/schreier.c 2021-09-03 01:29:06.000000000 -0600 +++ b/schreier.c 2022-01-27 15:00:52.084661084 -0700 @@ -558,7 +558,7 @@ filterschreier(schreier *gp, int *p, per schreier *sh; int *orbits,*pwr; permnode **vec,*curr; - boolean changed,lchanged,ident; + boolean changed,lchanged,ident=FALSE; #if !MAXN DYNALLOC1(int,workperm,workperm_sz,n,"filterschreier"); #endif @@ -774,7 +774,7 @@ getorbitsmin(int *fix, int nfix, schreie { schreier *sh,*sha; int *fixorbs; - int i,j,k,icell,nfails,wordlen,skips; + int i,j,k,icell=0,nfails,wordlen,skips; permnode *pn; #if !MAXN DYNALLOC1(int,workperm2,workperm2_sz,n,"expandschreier"); --- a/shortg.c 2021-09-03 01:29:06.000000000 -0600 +++ b/shortg.c 2022-01-27 15:23:41.942390210 -0700 @@ -272,11 +272,11 @@ int main(int argc, char *argv[]) { char *infilename,*outfilename; - FILE *infile,*outfile; - FILE *sortin,*sortout; + FILE *infile,*outfile=NULL; + FILE *sortin=NULL,*sortout=NULL; int status,loops; char *dstr,*cdstr,*prevdstr,*prevcdstr; - char sw,*fmt; + char sw,*fmt=NULL; boolean badargs,quiet,vswitch,dswitch,kswitch,format,uswitch; boolean iswitch,Iswitch,Kswitch,Tswitch; boolean zswitch,sswitch,gswitch,Sswitch,tswitch; @@ -284,7 +284,7 @@ main(int argc, char *argv[]) nauty_counter numread,prevnumread,numwritten,classsize; int m,n,i,ii,argnum,line; int outcode,codetype; - int inv,mininvarlevel,maxinvarlevel,invararg; + int inv,mininvarlevel=0,maxinvarlevel=0,invararg; long minil,maxil; pid_t sortpid; graph *g; --- a/showg.c 2021-09-03 01:29:06.000000000 -0600 +++ b/showg.c 2022-01-27 15:24:09.078428828 -0700 @@ -559,7 +559,7 @@ stringtograph(char *s, graph *g, int m) /* Assumes g is big enough to hold it. */ { char *p; - int n,i,j,k,v,x,nb,need; + int n,i,j,k,v,x=0,nb,need; size_t ii; set *gi,*gj; boolean done; @@ -703,7 +703,7 @@ readgg(FILE *f, graph *g, int reqm, int { char *s,*p; int m,n; - int readg_code; + int readg_code=0; if ((s = showg_getline(f)) == NULL) return NULL; --- a/subdivideg.c 2021-09-03 01:29:06.000000000 -0600 +++ b/subdivideg.c 2022-01-27 15:22:30.750288885 -0700 @@ -25,7 +25,7 @@ subdivisiongraph(sparsegraph *g, int k, size_t *gv,*hv; int gnv,hnv; size_t i,j,l,gnde,hnde,num; - size_t hi,lo,mid,w; + size_t hi,lo,mid=0,w; if (k == 0) { --- a/traces.c 2021-09-03 01:29:06.000000000 -0600 +++ b/traces.c 2022-01-27 15:19:14.958010213 -0700 @@ -1373,7 +1373,7 @@ int traces_refine(Candidate *Cand, int newtrace = FALSE; int Sparse = TRUE; int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, *TraceEnd, Traceccend, *Tracestpend; - int BigCell, BigCellPos, BigCellSize; + int BigCell=0, BigCellPos=0, BigCellSize=0; boolean TraceCell = FALSE; int *nghb; int conta; @@ -2145,7 +2145,7 @@ void traces_refine_notrace(Candidate *Ca int Split = 0; int Sparse = TRUE; int *lab, *cls, *InvLab, *SplitCell, *LabCell; - int BigCell, BigCellPos, BigCellSize; + int BigCell=0, BigCellPos=0, BigCellSize=0; int *nghb; const int variation = 1; int currentweight, weightstart, weightend, currentcell, currentsize; @@ -2741,7 +2741,7 @@ void traces_refine_maketrie(Candidate *C int Split = 0; int Sparse = TRUE; int *lab, *cls, *InvLab, *SplitCell, *LabCell; - int BigCell, BigCellPos, BigCellSize; + int BigCell=0, BigCellPos=0, BigCellSize=0; int *nghb; const int variation = 1; int currentweight, weightstart, weightend, currentcell, currentsize; @@ -3318,7 +3318,7 @@ int traces_refine_comptrie(Candidate *Ca int Split = 0; int Sparse = TRUE; int *lab, *cls, *InvLab, *SplitCell, *LabCell; - int BigCell, BigCellPos, BigCellSize; + int BigCell=0, BigCellPos=0, BigCellSize=0; int *nghb; const int variation = 1; int currentweight, weightstart, weightend, currentcell, currentsize; @@ -3900,7 +3900,7 @@ int traces_refine_sametrace(Candidate *C unsigned int longcode; int Sparse = TRUE; int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, *TraceEnd, Traceccend, *Tracestpend; - int BigCell, BigCellPos, BigCellSize; + int BigCell=0, BigCellPos=0, BigCellSize=0; boolean TraceCell = FALSE; int *nghb; const int variation = 0; @@ -4742,7 +4742,7 @@ void refine_tr_refine(Candidate *Cand, int newtrace = FALSE; int Sparse = TRUE; int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, TraceEnd, Traceccend, Tracestpend; - int BigCell, BigCellPos, BigCellSize; + int BigCell=0, BigCellPos=0, BigCellSize=0; boolean TraceCell = FALSE; int *nghb; const int variation = 0; @@ -6308,7 +6308,7 @@ int CompStage0(Partition *CurrPart, Part int m, int n, struct TracesVars* tv, struct TracesInfo *ti) { int i, j, i1, j2, k, cu, cu1, num_indv; int temp, tmp, auxcode, search_vtx, gom_level; - boolean closeloop, firstsing, has_nexttcell; + boolean closeloop=FALSE, firstsing, has_nexttcell; Candidate *SpTLliststart, *AuxCand; searchtrie *TreeNode, *TreeNode1, *TreeNode2; @@ -10087,12 +10087,11 @@ struct trie *trie_make(trie *t, int valu struct trie *trie_new(int n, struct TracesVars* tv) { - TrieArray[0] = malloc(n*sizeof(trie)); + TrieArray[0] = calloc(n, sizeof(trie)); if (TrieArray[0] == NULL) { fprintf(ERRFILE, "\nError, memory not allocated.\n"); exit(1); } - TrieArray[0][0].first_child = TrieArray[0][0].next_sibling = NULL; tv->triepos = 0; tv->trienext = 1; return TrieArray[0];