hw/i386/vmport: Assert vmport initialized before registering commands
vmport_register() is also called from other modules such as vmmouse. Therefore, these modules rely that vmport is realized before those call sites. If this is violated, vmport_register() will NULL-deref. To make such issues easier to debug, assert in vmport_register() that vmport is already realized. Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com> Signed-off-by: Liran Alon <liran.alon@oracle.com> Message-Id: <20200312165431.82118-17-liran.alon@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d6048bfd12
commit
23accdf162
@ -81,6 +81,8 @@ static VMPortState *port_state;
|
||||
void vmport_register(VMPortCommand command, VMPortReadFunc *func, void *opaque)
|
||||
{
|
||||
assert(command < VMPORT_ENTRIES);
|
||||
assert(port_state);
|
||||
|
||||
trace_vmport_register(command, func, opaque);
|
||||
port_state->func[command] = func;
|
||||
port_state->opaque[command] = opaque;
|
||||
|
Loading…
Reference in New Issue
Block a user