On 03.06.2015 22:37, Eric Blake wrote:
On 06/03/2015 01:43 PM, Max Reitz wrote:
Only call bdrv_add_key() on the BlockDriverState if it is not NULL.
Signed-off-by: Max Reitz <mre...@redhat.com>
---
hw/usb/dev-storage.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index abe0e1d..5b1dc90 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -612,20 +612,22 @@ static void usb_msd_realize_storage(USBDevice *dev, Error
**errp)
return;
}
- bdrv_add_key(blk_bs(blk), NULL, &err);
- if (err) {
- if (monitor_cur_is_qmp()) {
- error_propagate(errp, err);
- return;
- }
- error_free(err);
- err = NULL;
- if (cur_mon) {
- monitor_read_bdrv_key_start(cur_mon, blk_bs(blk),
- usb_msd_password_cb, s);
- s->dev.auto_attach = 0;
- } else {
- autostart = 0;
+ if (blk_bs(blk)) {
+ bdrv_add_key(blk_bs(blk), NULL, &err);
+ if (err) {
+ if (monitor_cur_is_qmp()) {
Hopefully doesn't conflict with Markus' work to refactor error handling
here (https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg00431.html)
He doesn't touch this file in this series, and I'm just wrapping this
block inside of an "if (blk_bs(blk))", so it should be fine.
On the other hand, Markus did modify this part in some previous series
of his, but that has been merged already and this patch is (re-)based on it.
Reviewed-by: Eric Blake <ebl...@redhat.com>
Thanks :-)
Max