| [chrony-dev] Logs from scan-build from Clang 3.4-1 |
[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-dev Archives ]
Dear chrony developers,
using the Clang static analyzer scan-build from Debian Clang version
3.4-1, the following warnings are printed.
$ git describe origin/master
1.29-3-g169eee6
$ scan-build -analyze-headers -o scan-build make -j2
scan-build: Using '/usr/bin/clang' for static analysis
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c util.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c sched.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c regress.c
regress.c:197:22: warning: The left operand of '<' is a garbage value
if (((resid[i-1] < 0.0) && (resid[i] < 0.0)) ||
~~~~~~~~~~ ^
regress.c:197:42: warning: The left operand of '<' is a garbage value
if (((resid[i-1] < 0.0) && (resid[i] < 0.0)) ||
~~~~~~~~ ^
regress.c:198:42: warning: The left operand of '>' is a garbage value
((resid[i-1] > 0.0) && (resid[i] > 0.0))) {
~~~~~~~~ ^
regress.c:396:21: warning: The left operand of '>' is a garbage value
while (x[r] > piv) r--;
~~~~ ^
4 warnings generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c local.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c sys.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c main.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c ntp_io.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c ntp_core.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c ntp_sources.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c sources.c
ntp_core.c:1545:3: warning: Value stored to 'prev' is never read
prev = inst->local_rx;
^ ~~~~~~~~~~~~~~
1 warning generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c sourcestats.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c reference.c
sourcestats.c:625:5: warning: Value stored to 'prev' is never read
prev = *sample;
^ ~~~~~~~
sourcestats.c:640:3: warning: Value stored to 'prev_offset' is never read
prev_offset = inst->estimated_offset;
^ ~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c logging.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c conf.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c cmdmon.c
cmdmon.c:1940:5: warning: Value stored to 'allowed' is never read
allowed = 0;
^ ~
1 warning generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c keys.c
keys.c:263:7: warning: Function call argument is an uninitialized value
LOG(LOGS_WARN, LOGF_Keys, "Detected duplicate key %lu", key_id);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./logging.h:101:61: note: expanded from macro 'LOG'
#define LOG LOG_Position(__FILE__, __LINE__, __FUNCTION__); LOG_Line_Function
^
1 warning generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c nameserv.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c acquire.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c manual.c
manual.c:176:54: warning: The left operand of '*' is a garbage value
samples[i].residual = offsets[i] - (b0 + agos[i] * b1);
~~~~~~~ ^
1 warning generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c addrfilt.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c cmdparse.c
acquire.c:623:9: warning: Call to 'malloc' has an allocation size of 0 bytes
eps = MallocArray(Endpoint, 2*n_sane_sources);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./memory.h:32:34: note: expanded from macro 'MallocArray'
#define MallocArray(T, n) ((T *) malloc((n) * sizeof(T)))
^~~~~~~~~~~~~~~~~~~~~~~
acquire.c:689:54: warning: The left operand of '+' is a garbage value
estimated_offset = 0.5 * (intervals[index1].lo + intervals[index2].hi);
~~~~~~~~~~~~~~~~~~~~ ^
2 warnings generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c mkdirpp.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c rtc.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c pktlength.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c clientlog.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c broadcast.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c refclock.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c refclock_phc.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c refclock_pps.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c refclock_shm.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c refclock_sock.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c tempcomp.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c hash_intmd5.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c sys_linux.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c wrap_adjtimex.c
sys_linux.c:1164:14: warning: Access to field 'pw_gid' results in a dereference of a null pointer (loaded from variable 'pw')
if (setgid(pw->pw_gid)) {
^~~~~~~~~~
1 warning generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c rtc_linux.c
rtc_linux.c:675:7: warning: Branch condition evaluates to a garbage value
if (valid) {
^~~~~
rtc_linux.c:756:5: warning: Value stored to 'error' is never read
error = 1;
^ ~
2 warnings generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c client.c
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -c getdate.c
getdate.c:1265:5: warning: Value stored to 'yymsg' is never read
yymsg = "Deleting";
^ ~~~~~~~~~~
1 warning generated.
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -o chronyd util.o sched.o regress.o local.o sys.o main.o ntp_io.o ntp_core.o ntp_sources.o sources.o sourcestats.o reference.o logging.o conf.o cmdmon.o keys.o nameserv.o acquire.o manual.o addrfilt.o cmdparse.o mkdirpp.o rtc.o pktlength.o clientlog.o broadcast.o refclock.o refclock_phc.o refclock_pps.o refclock_shm.o refclock_sock.o tempcomp.o hash_intmd5.o sys_linux.o wrap_adjtimex.o rtc_linux.o -lm -lcap
/usr/share/clang/scan-build/ccc-analyzer -O2 -g -o chronyc client.o nameserv.o getdate.o cmdparse.o pktlength.o util.o hash_intmd5.o -ledit -lm
scan-build: 16 bugs found.
scan-build: Run 'scan-view /srv/filme/src/chrony/scan-build/2013-10-03-130043-31884-1' to examine bug reports.
I suggest to install it on your system yourself, as it also gives nice
Web pages where the steps are shown how to reach certain conditions.
Unfortunately, I do not know the code well enough to fix certain things,
so I just posted patches for the easy ones and hope somebody else finds
the time to address the other warnings.
Thanks,
Paul
Attachment:
signature.asc
Description: This is a digitally signed message part
| Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |