AFL Code



int main(int argc, char** argv)
{

    if(argc>1){

	    FILE *f = fopen(argv[1], "rb");
	    fseek(f, 0, SEEK_END);
	    size_t fsize = ftell(f);
	    rewind(f);

	    uint8_t* str = (uint8_t *)malloc(fsize + 1);
	    memset(str, 0, fsize + 1);
	    fread((void*)str, fsize, 1, f);
	    fclose(f);
	    LLVMFuzzerTestOneInput(str, fsize + 1);

	    free(str);
    	    str = (uint8_t*)0;
    }
    else {
 	   uint8_t* str = (uint8_t *)malloc(4096);
           memset(str, 0, 4096);
           fgets((char*)str, 4095, stdin);

           LLVMFuzzerTestOneInput(str, 4096);

	   free(str);
	  str = (uint8_t*)0;
    }
   return 0;

}
Friday, March 22, 2019 by blast