]> git.proxmox.com Git - mirror_qemu.git/commit - block/crypto.c
block: Make remaining uses of qobject input visitor more robust
authorMarkus Armbruster <armbru@redhat.com>
Thu, 14 Jun 2018 19:14:34 +0000 (21:14 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 15 Jun 2018 12:49:44 +0000 (14:49 +0200)
commitf853465aacb45dbb07e4cc9815e39b55e10dc690
tree7b037bad4003b72d4d1274f10507ffafca8ee201
parentaf91062ee1408f7f5bb58389d355d29a5040c648
block: Make remaining uses of qobject input visitor more robust

Remaining uses of qobject_input_visitor_new_keyval() in the block
subsystem:

* block_crypto_open_opts_init()
  Currently doesn't visit any non-string scalars, thus safe.  It's
  called from
  - block_crypto_open_luks()
    Creates the QDict with qemu_opts_to_qdict_filtered(), which
    creates only string scalars, but has a TODO asking for other types.
  - qcow_open()
  - qcow2_open(), qcow2_co_invalidate_cache(), qcow2_reopen_prepare()

* block_crypto_create_opts_init(), called from
  - block_crypto_co_create_opts_luks()
    Also creates the QDict with qemu_opts_to_qdict_filtered().

* vdi_co_create_opts()
  Also creates the QDict with qemu_opts_to_qdict_filtered().

Replace these uses by qobject_input_visitor_new_flat_confused() for
robustness.  This adds crumpling.  Right now, that's a no-op, but if
we ever extend these things in non-flat ways, crumpling will be
needed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/crypto.c
block/vdi.c