most tests use debian-devscripts' hardening-check, so only work on ELF systems and can only detect a limited subset of flags. some extra tests actually execute fortify-protected programs and should be slightly more universally applicable.
17 lines
460 B
C
17 lines
460 B
C
/* an example that should be protected by FORTIFY_SOURCE=1 */
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
|
|
int main(int argc, char *argv[]) {
|
|
/* allocate on the heap so we're likely to get an
|
|
* over-allocation and can be more sure that a
|
|
* failure is because of fortify protection rather
|
|
* than a genuine segfault */
|
|
char* buffer = malloc(sizeof(char) * 7);
|
|
strcpy(buffer, argv[1]);
|
|
puts(buffer);
|
|
return 0;
|
|
}
|