Skip to content

Commit

Permalink
virtio-serial-bus: assert port is non-null in remove_port()
Browse files Browse the repository at this point in the history
remove_port() is called from qdev's unplug callback, and we're certain
the port will be found in our list of ports.  Adding an assert()
documents this.

This was flagged by Coverity, fix suggested by Markus.

CC: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
  • Loading branch information
Amit Shah committed Dec 18, 2012
1 parent 4e28976 commit 91bdd1c
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions hw/virtio-serial-bus.c
Expand Up @@ -852,6 +852,12 @@ static void remove_port(VirtIOSerial *vser, uint32_t port_id)
vser->ports_map[i] &= ~(1U << (port_id % 32));

port = find_port_by_id(vser, port_id);
/*
* This function is only called from qdev's unplug callback; if we
* get a NULL port here, we're in trouble.
*/
assert(port);

/* Flush out any unconsumed buffers first */
discard_vq_data(port->ovq, &port->vser->vdev);

Expand Down

0 comments on commit 91bdd1c

Please sign in to comment.