...
Code Block | ||
---|---|---|
| ||
int main(int argc, const char *argv[]) {
char *buff;
buff = (char *)malloc(BUFSIZE);
if (!buff) {
/* handle error condition */
}
/* ... */
strncpy(buff, argv[1], BUFSIZE-1);
/* ... */
free(buff);
buff = NULL;
}
|
Risk Assessment
Reading memory that has already been freed can lead to abnormal program termination and denial-of-service attacks. Writing memory that has already been freed can lead to the execution of arbitrary code with the permissions of the vulnerable process.
...