Re: [PATCH 3/6] dump/win_dump: fix use after free of err

2020-03-30 Thread Markus Armbruster
Vladimir Sementsov-Ogievskiy  writes:

> It's possible that we'll try to set err twice (or more). It's bad, it
> will crash.

True.

> Instead, use warn_report().

Improvement even without the potential crash enabled by the loop.

> Signed-off-by: Vladimir Sementsov-Ogievskiy 
> ---
>  dump/win_dump.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/dump/win_dump.c b/dump/win_dump.c
> index eda2a48974..652c7bad99 100644
> --- a/dump/win_dump.c
> +++ b/dump/win_dump.c
> @@ -304,13 +304,11 @@ static void restore_context(WinDumpHeader64 *h,
>  struct saved_context *saved_ctx)
>  {
>  int i;
> -Error *err = NULL;
>  
>  for (i = 0; i < h->NumberProcessors; i++) {
>  if (cpu_memory_rw_debug(first_cpu, saved_ctx[i].addr,
>  (uint8_t *)_ctx[i].ctx, sizeof(WinContext), 1)) {
> -error_setg(, "win-dump: failed to restore CPU #%d context", 
> i);
> -warn_report_err(err);
> +warn_report("win-dump: failed to restore CPU #%d context", i);
>  }
>  }
>  }

Reviewed-by: Markus Armbruster 




[PATCH 3/6] dump/win_dump: fix use after free of err

2020-03-24 Thread Vladimir Sementsov-Ogievskiy
It's possible that we'll try to set err twice (or more). It's bad, it
will crash.

Instead, use warn_report().

Signed-off-by: Vladimir Sementsov-Ogievskiy 
---
 dump/win_dump.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/dump/win_dump.c b/dump/win_dump.c
index eda2a48974..652c7bad99 100644
--- a/dump/win_dump.c
+++ b/dump/win_dump.c
@@ -304,13 +304,11 @@ static void restore_context(WinDumpHeader64 *h,
 struct saved_context *saved_ctx)
 {
 int i;
-Error *err = NULL;
 
 for (i = 0; i < h->NumberProcessors; i++) {
 if (cpu_memory_rw_debug(first_cpu, saved_ctx[i].addr,
 (uint8_t *)_ctx[i].ctx, sizeof(WinContext), 1)) {
-error_setg(, "win-dump: failed to restore CPU #%d context", i);
-warn_report_err(err);
+warn_report("win-dump: failed to restore CPU #%d context", i);
 }
 }
 }
-- 
2.21.0