cppcheck is a simple but effective static analysis tool. Here's how I run it with latest kdenlive 0.9 branch:
$ cppcheck -I src -I /usr/include -I thumbnailer -I plugins/sampleplugin/ \ -I renderer/ --enable=all -v --force . 2> cppcheck_log.txt Results show partially similar issues than Coverity but the good news is that the tool can easily be run again to verify the fix with cppcheck. This does not mean doing real compilation and testing shouldn't be done. Just might make fixing things a bit more straight forward. Unlike Coverity, cppcheck isn't run as compiler so some code paths with warnings might not actually be used in real life but then again fixing shouldn't hurt anyone either. Here are some example findings from kdenlive of issues which are quite simple to fix: (search for \(error tags in the log) [src/lib/external/kiss_fft/tools/psdpng.c:173]: (error) Common realloc mistake: 'vals' nulled but not freed upon failure [src/lib/external/kiss_fft/tools/psdpng.c:210]: (error) Common realloc mistake: 'row_pointers' nulled but not freed upon failure (search for \(warning tags in the log) [src/lib/external/kiss_fft/tools/kiss_fastfir.c:452]: (warning) %d in format string (no. 1) requires a signed integer given in the argument list. [src/lib/external/kiss_fft/tools/psdpng.c:140]: (warning, inconclusive) Size of pointer 'mag2buf' used instead of size of its data. This is likely to lead to a buffer overflow. You probably intend to write 'sizeof(*mag2buf)'. [src/scopes/abstractscopewidget.cpp:104] -> [src/scopes/abstractscopewidget.cpp:549] -> [src/scopes/abstractscopewidget.h:91]: (warning) Call of pure virtual function 'widgetName' in constructor. The call will fail during runtime. (search for \(style.*no in the log) [src/jogshuttle.h:32]: (style) The class 'ShuttleThread' does not have a constructor although it has private member variables. Member variables of builtin types are left uninitialized when the class is instanciated. That may cause bugs or undefined behavior. So, I hope also someone else might try out running cppcheck and fixing some of the findings. Cheers, -Mikko