From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56846) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUKIY-0008Ie-CG for qemu-devel@nongnu.org; Tue, 15 May 2012 12:08:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SUKIR-0002hz-UY for qemu-devel@nongnu.org; Tue, 15 May 2012 12:08:29 -0400 Received: from mel.act-europe.fr ([194.98.77.210]:45269) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUKIR-0002fI-Oa for qemu-devel@nongnu.org; Tue, 15 May 2012 12:08:23 -0400 Message-ID: <4FB27F60.7090304@adacore.com> Date: Tue, 15 May 2012 18:08:00 +0200 From: Fabien Chouteau MIME-Version: 1.0 References: <1337074749-24189-1-git-send-email-chouteau@adacore.com> <4FB25AA9.3010905@suse.de> In-Reply-To: <4FB25AA9.3010905@suse.de> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] Avoid segfault in cpu_dump_state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-15?Q?Andreas_F=E4rber?= Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, agraf@suse.de On 05/15/2012 03:31 PM, Andreas F=E4rber wrote: > Am 15.05.2012 11:39, schrieb Fabien Chouteau: >> Do not call cpu_dump_state if logfile is NULL. >=20 > And where is log_cpu_state() being called from? Its caller is passing > NULL already then. >=20 No, logfile is a global variable. log_cpu_state() takes only CPUState and flags parameters. >> >> Signed-off-by: Fabien Chouteau >> --- >> qemu-log.h | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/qemu-log.h b/qemu-log.h >> index fccfb110..2cd5ffa 100644 >> --- a/qemu-log.h >> +++ b/qemu-log.h >> @@ -51,7 +51,12 @@ extern int loglevel; >> /* Special cases: */ >> =20 >> /* cpu_dump_state() logging functions: */ >> -#define log_cpu_state(env, f) cpu_dump_state((env), logfile, fprintf,= (f)); >> +#define log_cpu_state(env, f) \ >> +do { \ >> + if (logfile !=3D NULL) { \ >> + cpu_dump_state((env), logfile, fprintf, (f)); \ >> + } \ >> + } while (0) >> #define log_cpu_state_mask(b, env, f) do { \ >> if (loglevel & (b)) log_cpu_state((env), (f)); \ >> } while (0) >=20 --=20 Fabien Chouteau