visit_type_bool(v, param, &p->direct_io, &err);
break;
case MIGRATION_PARAMETER_CPR_EXEC_COMMAND: {
+ /*
+ * NOTE: g_autofree will only auto g_free() the strv array when
+ * needed, it will not free the strings within the array. It's
+ * intentional: when strv is set, the ownership of the strings will
+ * always be passed to p->cpr_exec_command via QAPI_LIST_APPEND().
+ */
g_autofree char **strv = NULL;
g_autoptr(GError) gerr = NULL;
strList **tail = &p->cpr_exec_command;