Zo wijst het rapport van Coverity op de NULL Pointer deference, waarbij een programma toegang probeert te krijgen tot geheugen dat niet bestaat.
Dit is niet helemaal correct (en dan heb ik het niet alleen over de schrijfwijze "deference" :-).
Een NULL pointer dereference is iets anders dan een "invalid" of "dangling" pointer. In het eerste geval wordt (zoals de naam al zegt) NULL gedereferenced. Het proces krijgt een klap en dat was dat. Niet zozeer een security-issue. In het tweede geval kan iets geschreven worden op een onverwachte locatie. Als dat geheugen is wat niet bestaat is er nu juist niets aan de hand. Ook dan krijgt het proces een segmentation fault voor zijn kiezen.
Een security probleem heb je vooral met een dangling pointer naar een stukje geheugen wat juist WEL bestaat, zodat de boef daar iets stouts in kan schrijven.
Kwaliteit open source-code steeds beter
Gepubliceerd: Vrijdag 25 september 2009
Het aantal bugs dat in open source-projecten wordt gevonden gaat steeds verder omlaag. Toch valt er nog veel te verbeteren.
Toon volledig artikel
