Try Sparse to analyze your C code. Unlike Splint, it works well with the GTK libraries and reports a wide range of issues. It also neatly fits in with the autotools build system, so you can basically run your autotools and prep for a make, and then call:
make CC=cgcc
cgcc is a wrapper which invokes sparse first, and then gcc. Then go through the warnings and fix them. 
For the last 9 months, I’ve been working on a SMB/CIFS virtualization product at Brocade. We announced this product to the world yesterday.
FME lets sysadmins migrate open files (holding rangelocks and oplocks) that are being used by client applications in a DFS namespace, from one filer to another without disruption. Hence the name virtualization. Client applications don’t know that files are being moved at the remote end. My work has been in the CIFS datapath, tracking and restoring open file metadata such as rangelocks and oplocks, and also helping migration processes track changes in a file’s data while it’s being migrated. It’d be very cool to a network filesystem developer or even a sysadmin, to see a Wireshark packet capture of the orchestrated steps.
This work was, for various reasons, done in Windows land, as a driver. Yes, I know.. ugh yuck bleh, but I got to explore a bit of Windows land :).
The last maintainer of tinyproxy transferred over maintainership of the project yesterday. So the fork nanoproxy is now obsolete and has been removed. The tinyproxy project will keep its old name, because existing users know it as that.
Visit the tinyproxy project!