fstrace: Don't read uninitialised data
authorSimon Wilkinson <sxw@your-file-system.com>
Sat, 2 Mar 2013 11:49:13 +0000 (11:49 +0000)
committerJeffrey Altman <jaltman@your-file-system.com>
Thu, 7 Mar 2013 16:08:48 +0000 (08:08 -0800)
The pftix variable points to the next free element in the
printfTypes array, so when we iterate through that array to
read that data back, we should stop when our iterator equals
pftix, not when it is greater than it.

Caught by coverity (#986013)

Change-Id: Ie08ebdd28cdde6647e91da5c5f67512096ecb34c
Reviewed-on: http://gerrit.openafs.org/9442
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/venus/fstrace.c

index 9020e69..588415e 100644 (file)
@@ -157,7 +157,7 @@ CheckTypes(char *bufferp, int *typesp, int typeCount, char *outMsgBuffer)
             * check the type descriptor.
             */
            inPercent = 0;
-           if (tix > typeCount)
+           if (tix >= typeCount)
                return 0;       /* no more type descriptors left */
            if (tc == 's') {
                if (typesp[tix] != 1)   /* not a string descriptor */