mirror of https://github.com/mgba-emu/mgba.git
Test: Rearrange fuzz-main for AFL additions
This commit is contained in:
parent
d490f9a013
commit
a90eeea924
|
@ -68,18 +68,9 @@ int main(int argc, char** argv) {
|
||||||
return !parsed;
|
return !parsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct VFile* rom = VFileOpen(args.fname, O_RDONLY);
|
|
||||||
|
|
||||||
context.gba->hardCrash = false;
|
|
||||||
GBAContextLoadROMFromVFile(&context, rom, 0);
|
|
||||||
|
|
||||||
struct GBAVideoSoftwareRenderer renderer;
|
struct GBAVideoSoftwareRenderer renderer;
|
||||||
renderer.outputBuffer = 0;
|
renderer.outputBuffer = 0;
|
||||||
|
|
||||||
struct VFile* savestate = 0;
|
|
||||||
struct VFile* savestateOverlay = 0;
|
|
||||||
size_t overlayOffset;
|
|
||||||
|
|
||||||
if (!fuzzOpts.noVideo) {
|
if (!fuzzOpts.noVideo) {
|
||||||
GBAVideoSoftwareRendererCreate(&renderer);
|
GBAVideoSoftwareRendererCreate(&renderer);
|
||||||
renderer.outputBuffer = malloc(256 * 256 * 4);
|
renderer.outputBuffer = malloc(256 * 256 * 4);
|
||||||
|
@ -87,6 +78,19 @@ int main(int argc, char** argv) {
|
||||||
context.renderer = &renderer.d;
|
context.renderer = &renderer.d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __AFL_HAVE_MANUAL_CONTROL
|
||||||
|
__AFL_INIT();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct VFile* rom = VFileOpen(args.fname, O_RDONLY);
|
||||||
|
|
||||||
|
context.gba->hardCrash = false;
|
||||||
|
GBAContextLoadROMFromVFile(&context, rom, 0);
|
||||||
|
|
||||||
|
struct VFile* savestate = 0;
|
||||||
|
struct VFile* savestateOverlay = 0;
|
||||||
|
size_t overlayOffset;
|
||||||
|
|
||||||
GBAContextStart(&context);
|
GBAContextStart(&context);
|
||||||
|
|
||||||
if (fuzzOpts.savestate) {
|
if (fuzzOpts.savestate) {
|
||||||
|
@ -121,18 +125,21 @@ int main(int argc, char** argv) {
|
||||||
|
|
||||||
_GBAFuzzRunloop(&context, fuzzOpts.frames);
|
_GBAFuzzRunloop(&context, fuzzOpts.frames);
|
||||||
|
|
||||||
|
GBAContextStop(&context);
|
||||||
|
GBAContextUnloadROM(&context);
|
||||||
|
|
||||||
if (savestate) {
|
if (savestate) {
|
||||||
savestate->close(savestate);
|
savestate->close(savestate);
|
||||||
}
|
}
|
||||||
if (savestateOverlay) {
|
if (savestateOverlay) {
|
||||||
savestateOverlay->close(savestateOverlay);
|
savestateOverlay->close(savestateOverlay);
|
||||||
}
|
}
|
||||||
GBAContextStop(&context);
|
|
||||||
GBAContextDeinit(&context);
|
|
||||||
freeArguments(&args);
|
freeArguments(&args);
|
||||||
if (renderer.outputBuffer) {
|
if (renderer.outputBuffer) {
|
||||||
free(renderer.outputBuffer);
|
free(renderer.outputBuffer);
|
||||||
}
|
}
|
||||||
|
GBAContextDeinit(&context);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue