then abort calling error_setg() Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- hw/core/qdev.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 849952a8d4..05aaa67cb8 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -448,7 +448,11 @@ qemu_irq qdev_get_gpio_in_named(DeviceState *dev, const char *name, int n) { NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name); - assert(n >= 0 && n < gpio_list->num_in); + assert(n >= 0); + if (n >= gpio_list->num_in) { + error_setg(&error_abort, "Invalid gpio #%d (of %d) for %s", + n, gpio_list->num_in, name ? name : "device"); + } return gpio_list->in[n]; } -- 2.13.1