提交 3d0f4418 编写于 作者: P Paolo Bonzini 提交者: Michael Tokarev

gdbstub: avoid possible NULL pointer dereference

Coverity reports that s->chr is checked after put_packet dereferences it.
Move the check earlier, consistent with the code used for user-mode
emulation.
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
上级 c6dc3dd7
...@@ -1443,15 +1443,17 @@ void gdb_exit(CPUArchState *env, int code) ...@@ -1443,15 +1443,17 @@ void gdb_exit(CPUArchState *env, int code)
if (gdbserver_fd < 0 || s->fd < 0) { if (gdbserver_fd < 0 || s->fd < 0) {
return; return;
} }
#else
if (!s->chr) {
return;
}
#endif #endif
snprintf(buf, sizeof(buf), "W%02x", (uint8_t)code); snprintf(buf, sizeof(buf), "W%02x", (uint8_t)code);
put_packet(s, buf); put_packet(s, buf);
#ifndef CONFIG_USER_ONLY #ifndef CONFIG_USER_ONLY
if (s->chr) { qemu_chr_delete(s->chr);
qemu_chr_delete(s->chr);
}
#endif #endif
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册