Posts Tagged ‘null’

Minneshantering

april 16, 2010

Säker minneshantering i C har alltid varit problematiskt, via slashdot hittade jag två blogginlägg om ämnet (del ett, del två). Del ett visar hur man undviker NULL-pekare-undantag och del två visar hur NULL-pekare-undantag kan utnyttjas för att få förhöjda privilegier i ett Linux-system. Första inlägget ger också lite information om hur operativsystem generellt hanterar minne och varför.

This was true for every program, including the operating system itself. You can probably guess what goes wrong here: suppose that Microsoft Word is storing your document at address 700 in memory. Now, you’re browsing the web, and a bug in Internet Explorer causes it to start scribbling over random memory and it happens to scribble over memory around address 700. Suddenly, bam, Internet Explorer takes Word down with it. It’s actually even worse than that: a bug in IE can even take down the entire operating system.

This was widely regarded as a bad move…

Liftarens guide referenser vinner alltid poäng hos mig!

Jag jobbar helt utan virtuellt minne i den produkt jag arbetar med på jobbet och vi har inte hittat på några fiffiga funktioner för att generera undantag. hårdvaran har dock vissa skydd inbyggd i hårdvaran som hindrar vår processor att skriva över allt för viktiga delar i minnet, samt meddelar när något gått horribelt fel. Detta genererar Abort-undantag och Undef-undantag som vi fångar upp och visar upp en felskärm med information om vilken typ av fel som inträffat, och ännu viktigare var felet inträffat. Skärmen är en kopia av Amigans Guru Meditation-skärm, svart med en röd blinkande ram med viktig (och dessutom kryptisk) information högst upp. Om vi sköter våra kort rätt kommer ingen kund någonsin se den (igen) men det känns bra att det finns referenser till retro-hårdvara bakom kulisserna.

Guru meditation

Guru Meditation

Annonser