Abuse Melding

Je hebt een klacht over de onderstaande posting:

03-07-2018, 10:43 door Bitwiper

Dit helpt in elk geval niet (de middelste 3 regels heb ik ingesorongen maar die spaties verwijdert security.nl): char* kopieerpad(char* in) { char teruggave[81]; // paden zijn nooit langer dan 80 chars (1 extra voor de nul) strncpy(teruggave, in, strlen(in)); return teruggave; } Voor de minder ervaren (C/C++) programmeurs: gebruikmaken van null-terminated strings is in veel gevallen het snelst en kost het minste geheugen. Voorwaarde is dat je niet een string waarvan je de lengte niet weet, kopieert naar een buffer (een door jou gereserveerd stukje geheugen) van vaste grootte. Want als de bron-string te lang is, wordt het geheugen achter die buffer overschreven: dit noemen we een buffer-overflow. Als de lengte van de bron-string bepaald wordt door een gebruiker (user input, denk aan lang op het toetsenbord leunen met de cursor in een invoerveld) en je daarmee zonder checks aan de gang gaat, liggen exploits op de loer. In het voorbeeld hierboven is "netjes" van strncpy gebruik gemaakt, maar strlen erin ...

Beschrijf je klacht (Optioneel):

captcha