memcpy
Prototype
void* memcpy(void* dest, const void* src, size_t n);Vulnerable example
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char buffer[8];
memcpy(buffer, argv[1], strlen(argv[1]));
return 0;
}Prevent
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char buffer[8];
size_t len = strnlen(argv[1], sizeof(buffer));
memcpy(buffer, argv[1], len);
return 0;
}Last updated