21
Coverage Guided Fuzzing
• Randomly generate inputs
• Choose seeds with new coverage
AFL
static int is_reserved_word_token(const char *s, int len) {
const char *reserved[] = {
"break", "case", "catch", "continue", "debugger", "default",
"delete", "do", "else", "false", "finally", "for",
"function", "if", "in", "instanceof", "new", "null",
"return", "switch", "this", "throw", "true", "try",
"typeof", "var", "void", "while", "with", "let",
"undefined", ((void *)0)};
int i;
if (!mjs_is_alpha(s[0]))
return 0;
for (i = 0; reserved[i] != ((void *)0); i++) {
if (len == (int)strlen(reserved[i]) && strncmp(s, reserved[i], len) == 0)
return i + 1;
}
return 0;
}