From 690ada5f6a2bcc2d44c60bf4b768ac2be96ab705 Mon Sep 17 00:00:00 2001 From: Catena cyber <35799796+catenacyber@users.noreply.github.com> Date: Sat, 23 May 2020 03:59:30 +0200 Subject: [PATCH] Oss-fuzz ideal integration (#1265) * Adds oss-fuzz badge * Generic fix for watchpoints leak --- README.md | 1 + qemu/target-arm/unicorn_arm.c | 1 - qemu/unicorn_common.h | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4577d074..1a19f302 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ Unicorn Engine [![Join the chat at https://gitter.im/unicorn-engine/chat](https://badges.gitter.im/unicorn-engine/unicorn.svg)](https://gitter.im/unicorn-engine/chat?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/unicorn-engine/unicorn.svg?branch=master)](https://travis-ci.org/unicorn-engine/unicorn) [![pypi downloads](https://pepy.tech/badge/unicorn)](https://pepy.tech/project/unicorn) +[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/unicorn.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:unicorn) Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework based on [QEMU](http://qemu.org). diff --git a/qemu/target-arm/unicorn_arm.c b/qemu/target-arm/unicorn_arm.c index 4264477d..0e1b1828 100644 --- a/qemu/target-arm/unicorn_arm.c +++ b/qemu/target-arm/unicorn_arm.c @@ -32,7 +32,6 @@ void arm_release(void* ctx) g_free(cpu->cpreg_values); g_free(cpu->cpreg_vmstate_indexes); g_free(cpu->cpreg_vmstate_values); - cpu_watchpoint_remove_all(CPU(cpu), BP_CPU); release_common(ctx); } diff --git a/qemu/unicorn_common.h b/qemu/unicorn_common.h index 8dcbb3e5..0aa1e5c3 100644 --- a/qemu/unicorn_common.h +++ b/qemu/unicorn_common.h @@ -51,6 +51,7 @@ static void release_common(void *t) memory_free(s->uc); tb_cleanup(s->uc); free_code_gen_buffer(s->uc); + cpu_watchpoint_remove_all(CPU(s->uc->cpu), BP_CPU); #if TCG_TARGET_REG_BITS == 32 for(i = 0; i < s->nb_globals; i++) {