jbeuhler-flexelint-bugs-found-20031128
authorJeffrey Altman <jaltman@grand.central.org>
Sat, 29 Nov 2003 22:07:57 +0000 (22:07 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 29 Nov 2003 22:07:57 +0000 (22:07 +0000)
commit61cf9fa731654b943a271dcf585b95062fbe7a4c
tree9fda41dd760595d6525c49dccb1025e4fd87935c
parenta95c759cd7601e0755f380ebe3b2b5493a188104
jbeuhler-flexelint-bugs-found-20031128

This patch covers bugs found by running flexelint on
the CVS code on Windows NT.

- incorrect enum used in al_creds.cpp and various other files
- use of local after it goes out of scope in al_wizard.cpp
- uninitialized class members in afsclass/*
- cm_config.c looks like it has code commented out accidentally
- useless statement in alert.cpp
- no default case handling in problems.cpp
- strange use of & on booleans in set_clone.cpp
- fgets() and fclose() on closed stream in cellconfig.c
- memory leak in cellconfig.c
- *scanf into variables of unknown length in cellconfig.c
- incorrect pointer passed to getAFSServer() in cellconfig.c
- possible buffer overflows in userok.c
- address of array in bos.c
- too many arguments for printf() in commands.c
- return code not saved in bucoord/main.c
- bad types for argv arrays in bucoord/main.c
- probably incorrect initializer list in ol_verify.c
- extra argument to TLog() in lwps.c
- memory leak in cmd/cmd.c
- lack of typecast on malloc() in a couple files
- lower-case L for long constant in touch.c (is it a 1 or an l...)
- parentheses nesting error in util_cr.c
- apparently invalid case fall-through in util_cr.c
- various memory leaks in util_cr.c
- macro missing parens in crypt.c
- macro missing parens in quad_cksum.c
- null pointer deref in kpasswd.c (CVS work in progress?)
- Print_bos_ProcessState_p() code does not look correct
- extra argument to printf() in kas.c
- typo in vsprocs.c
- macro missing parens in iomgr.c
- address of array in threadname.c
- storing result of getch() in char type in waitkey.c (may not match EOF constant)
- storing pointer to local car in global in ptserver.c (benign -- it is in main())
- address of array in rx_lwp.c
- macro missing parens in rx_packet.h
- impossible == (signed vs. unsigned?) in rxdebug.c
- bogus constants in xdr.c and xdr_array.c (possible security implications?)
- incorrect test of fd for open file in update/server.c
- dangerous unparenthesized macro in get_krbrlm.c
- buffer overrun in regex.c
- missing comma causes string concat and bad array init in vlclient.c
- comparison of string < 0 in ntops.c
- default case has no code in vos.c
--
Joe Buehler

>>>>

Comments: Several comments for FIXME left in the code - unaddressed
38 files changed:
src/WINNT/afsapplib/al_creds.cpp
src/WINNT/afsapplib/al_wizard.cpp
src/WINNT/afsclass/c_grp.cpp
src/WINNT/afsclass/c_svr.cpp
src/WINNT/afsclass/c_usr.cpp
src/WINNT/afssvrmgr/alert.cpp
src/WINNT/afssvrmgr/problems.cpp
src/WINNT/afssvrmgr/set_clone.cpp
src/auth/cellconfig.c
src/auth/userok.c
src/bucoord/main.c
src/budb/ol_verify.c
src/cmd/cmd.c
src/comerr/compile_et.c
src/config/mkvers.c
src/config/touch.c
src/config/util_cr.c
src/des/crypt.c
src/des/quad_cksum.c
src/kauth/kpasswd.c
src/libadmin/test/bos.c
src/libadmin/test/kas.c
src/libadmin/vos/vsprocs.c
src/lwp/iomgr.c
src/lwp/threadname.c
src/lwp/waitkey.c
src/ptserver/ptserver.c
src/rx/rx_lwp.c
src/rx/rx_packet.h
src/rx/rxdebug.c
src/rx/xdr.c
src/rx/xdr_array.c
src/rxgen/rpc_main.c
src/update/server.c
src/util/get_krbrlm.c
src/util/regex.c
src/vlserver/vlclient.c
src/vol/ntops.c