cvs commit: src/usr.bin/hexdump Makefile display.c odsyntax.c
johan at FreeBSD.org
Thu Jul 22 06:14:43 PDT 2004
johan 2004-07-22 13:14:42 UTC
FreeBSD src repository
usr.bin/hexdump Makefile display.c odsyntax.c parse.c
- 'savech' is only used if it is set a few lines above where
it is used, initialize it to silence warning.
- 'length' is either -1 or greater than 0, hence it is safe to cast it
to unsigned when comparing it here.
- 'p' is assigned either (*argvp) or (*argvp) which both are
char *. 'num' and 'end' are assigned values based on 'p'.
Hence use char * instead of unsigned char * for these variables.
'&end' as the second argument to strtoll does not need to be casted
to char** any more.
This solves a
'dereferencing type-punned pointer will break strict-aliasing rules'
warning when compiling with -O2.
- 'prec' is only used when sokay == USEPREC and sokay = USEPREC
when 'prec' is assigned. Hence 'prec' is not used uninitialized,
initialize it to silence warning.
- The code involving 'nextpr' is hard to follow, but I belive
'nextpr' will not be used unless it is initialized.
Anyway, IF 'nextpr' is used uninitialized it is better to
get a consistant error (seg fault, when dereferencing a NULL pointer)
than potentially accessing some random memory.
The above changes makes hexdump WARNS=6 clean even when compiled with
-O2. Hence bump WARNS to keep it clean.
Tested by: CFLAGS='-O2 -pipe' make universe
Revision Changes Path
1.9 +1 -0 src/usr.bin/hexdump/Makefile
1.20 +2 -1 src/usr.bin/hexdump/display.c
1.17 +2 -2 src/usr.bin/hexdump/odsyntax.c
1.13 +3 -0 src/usr.bin/hexdump/parse.c
More information about the cvs-all