Skip to content

Commit

Permalink
xdiff/xdiffi.c: fix warnings about possibly uninitialized variables
Browse files Browse the repository at this point in the history
Compiling this module gave the following warnings (some double dutch!):

xdiff/xdiffi.c: In functie 'xdl_recs_cmp':
xdiff/xdiffi.c:298: let op: 'spl.i1' may be used uninitialized in this function
xdiff/xdiffi.c:298: let op: 'spl.i2' may be used uninitialized in this function
xdiff/xdiffi.c:219: let op: 'fbest1' may be used uninitialized in this function
xdiff/xdiffi.c:219: let op: 'bbest1' may be used uninitialized in this function

A superficial tracking of their usage, without deeper knowledge about the
algorithm, indeed confirms that there are code paths on which these
variables will be used uninitialized. In practice these code paths might never
be reached, but then these fixes will not change the algorithm. If these
code paths are ever reached we now at least have a predictable outcome. And
should the very small performance impact of these initializations be
noticeable, then they should at least be replaced by comments why certain
code paths will never be reached.

Some extra initializations in this patch now fix the warnings.
  • Loading branch information
Marco Roeland authored and Junio C Hamano committed Apr 9, 2006
1 parent fc58071 commit 0ed49a3
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions xdiff/xdiffi.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ static long xdl_split(unsigned long const *ha1, long off1, long lim1,
if (ec >= xenv->mxcost) {
long fbest, fbest1, bbest, bbest1;

fbest = -1;
fbest = fbest1 = -1;
for (d = fmax; d >= fmin; d -= 2) {
i1 = XDL_MIN(kvdf[d], lim1);
i2 = i1 - d;
Expand All @@ -230,7 +230,7 @@ static long xdl_split(unsigned long const *ha1, long off1, long lim1,
}
}

bbest = XDL_LINE_MAX;
bbest = bbest1 = XDL_LINE_MAX;
for (d = bmax; d >= bmin; d -= 2) {
i1 = XDL_MAX(off1, kvdb[d]);
i2 = i1 - d;
Expand Down Expand Up @@ -296,6 +296,7 @@ int xdl_recs_cmp(diffdata_t *dd1, long off1, long lim1,
} else {
long ec;
xdpsplit_t spl;
spl.i1 = spl.i2 = 0;

/*
* Divide ...
Expand Down

0 comments on commit 0ed49a3

Please sign in to comment.