PHP_FUZZER_TARGET([parser], PHP_FUZZER_PARSER_OBJS)
PHP_FUZZER_TARGET([unserialize], PHP_FUZZER_UNSERIALIZE_OBJS)
+ PHP_FUZZER_TARGET([json], PHP_FUZZER_JSON_OBJS)
- dnl json extension is enabled by default
- if (test -n "$enable_json" && test "$enable_json" != "no") || test -z "$PHP_ENABLE_ALL"; then
- PHP_FUZZER_TARGET([json], PHP_FUZZER_JSON_OBJS)
- fi
if test -n "$enable_exif" && test "$enable_exif" != "no"; then
PHP_FUZZER_TARGET([exif], PHP_FUZZER_EXIF_OBJS)
fi
#include <stdlib.h>
#include "fuzzer-sapi.h"
-
-#ifdef HAVE_JSON
#include "ext/json/php_json_parser.h"
-#endif
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
-#ifdef HAVE_JSON
char *data = malloc(Size+1);
memcpy(data, Data, Size);
data[Size] = '\0';
php_request_shutdown(NULL);
free(data);
-#else
- fprintf(stderr, "\n\nERROR:\nPHP built without JSON, recompile with --enable-json to use this fuzzer\n");
- exit(1);
-#endif
return 0;
}