Follow the Australian Telecommunications scene NEWSLETTER- FREE TRIAL
The Linux distillery
Bringing the world of Linux to you, David cuts through the tech and shows you how it works and how to use it, in terms that apply to any distro. RSS
Technology news and Jobs arrow The Linux distillery arrow Is Open Source software safe and secure?
Is Open Source software safe and secure? E-mail
by David M Williams   
Thursday, 22 May 2008
At the bottom end, rung 0 projects are those open source projects which have been analysed by Scan but which have not had any interaction between Coverity and the project development team. These projects are included by Coverity because they were recommended or deemed to be of significance in the open source community.

Coverity have analysed the code but have not had any developers from the project express an interest in accessing the nature of vulnerabilities found. As the flaws aren’t released to the general public, this means the defects found are not being read by anyone and possibly may not be corrected.

Projects at this rung include bison, cups, ffmpeg, gnuplot, lua, net-snmp, rpm, tk, wget, xplot and zlib. This is somewhat surprising; while projects at rung 0 exist which have clearly limited application – like opendis, a tool to download images from Flashpoint Digita-based cameras – the ones I’ve listed are fairly prominent apps and some of which are among the core base of a system.

The only means to progress from rung 0 to rung 1 is for official members of the project team to come in contact with Coverity and begin availing themselves of the code analysis results. Conversely, the project team can also request to be removed from Scan. Thus, while these apps did not opt to be included they have also not asked to opt out.

The broad findings, and the rung divisions, are interesting but where the Open Source Report research also offers huge value is in its categorising the code problems uncovered.

In fact, out of all the projects, over all the code, the biggest recurring problem was NULL pointer dereferences. This alone accounted for 28% of all defects. This type of error occurs when you have program code that might have different paths through a routine depending on variables or conditions. Think of the “if/then” statement; this is a fundamental programming structure which means you can temporarily interrupt the linear flow of a program to do something different depending on whether a condition evaluates to true or false. These are two different paths through the code.

In a NULL pointer dereference you will have one code path which initialises a pointer before using it, but another code path which skips the initialisation and seeks to use the pointer when it is NULL, ie when it does not have a valid value.

This type of flaw can be hard to debug because one code path behaves as it should; the program will not repeatedly crash because certain conditions have to be met for the faulty code to be executed.
Actually, pointers are a complex aspect of computer programming. C and C++ are well known for their arcane nature – although, similarly, they are well known for the control they give a developer over a system and for the raw native execution speed they offer.

CONTINUED







 
< Next story in category   Previous story in the category >
iTWire user statistics Visitors last 30 days
694,279
Subscribers 15,210
#1 independent technology news advertise here
  •   *  
  • Search
  • AdvSeach
  • Login
  • Events
  • FreeStuff

- Advertisement -

Featured Whitepapers

Follow iTWire on Twitter

About iTWire

iTWire is all about technology news, information, jobs and community for the IT and telecommunications industry professional. Subscribe to our free ICT daily newsletter