[PATCH] winedbg: Don't dereference possibly NULL thread pointer.
Zebediah Figura (she/her)
zfigura at codeweavers.com
Tue Mar 9 16:19:52 CST 2021
On 3/9/21 3:54 PM, Rémi Bernon wrote:
> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
> ---
> programs/winedbg/gdbproxy.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
> index 41aee55656b..bf96482042a 100644
> --- a/programs/winedbg/gdbproxy.c
> +++ b/programs/winedbg/gdbproxy.c
> @@ -115,11 +115,11 @@ struct gdb_context
> static void gdbctx_delete_xpoint(struct gdb_context *gdbctx, struct dbg_thread *thread,
> dbg_ctx_t *ctx, struct gdb_xpoint *x)
> {
> - struct dbg_process *process = thread->process;
> + struct dbg_process *process = gdbctx->process;
> struct backend_cpu *cpu = process->be_cpu;
>
> if (!cpu->remove_Xpoint(process->handle, process->process_io, ctx, x->type, x->addr, x->value, x->size))
> - ERR("%04x:%04x: Couldn't remove breakpoint at:%p/%x type:%d\n", process->pid, thread->tid, x->addr, x->size, x->type);
> + ERR("%04x:%04x: Couldn't remove breakpoint at:%p/%x type:%d\n", process->pid, thread ? thread->tid : ~0, x->addr, x->size, x->type);
>
> list_remove(&x->entry);
> HeapFree(GetProcessHeap(), 0, x);
>
Is there any point in passing the thread to this function?
More information about the wine-devel
mailing list