Hi folks :) I've been using the Clang Static Analyzer to analyze the Hurd and GNU Mach source. The results are here (until a more permanent home is found and an automated build system is in place):
http://darnassus.sceen.net/~teythoon/qa/ I've seen Marin has joined in fixing bugs in Mach based on these kind of analysis, very cool! This patch series is only based on reports on dead assignments and increments. These kind of bugs are often straight forward to fix. Furthermore, many error handling bugs fall into the dead store category, and in fact the second patch also fixes a locking problem. The code in libftpconn and libstore/do-bunzip2.c is very noisy. Fixing bugs here should require little knowlegde of the Hurd, so if you ever wanted to contribute to the Hurd but did not find the time to really dive into it, this is your chance :) I've referenced the reports each patch is based on: [PATCH 1/6] libdiskfs: remove dead assignment http://darnassus.sceen.net/~teythoon/qa/hurd/scan-build/2013-11-15/report-aISBu9.html#EndPath [PATCH 2/6] libdiskfs: fix error handling http://darnassus.sceen.net/~teythoon/qa/hurd/scan-build/2013-11-15/report-cJ6SFM.html#EndPath [PATCH 3/6] ext2fs: fix error handling http://darnassus.sceen.net/~teythoon/qa/hurd/scan-build/2013-11-15/report-zAIvfn.html#EndPath [PATCH 4/6] libshouldbeinlibc: fix dead assignment http://darnassus.sceen.net/~teythoon/qa/hurd/scan-build/2013-11-15/report-yzoOA9.html#EndPath [PATCH 5/6] mach-defpager: fix the page offsets returned by http://darnassus.sceen.net/~teythoon/qa/hurd/scan-build/2013-11-15/report-JuJaPs.html#EndPath Please pay close attention to this one. The Hurd seems to work fine with this patch. [PATCH 6/6] mach-defpager: do not remove -Wall from CFLAGS Cheers, Justus
