static void virtio_9p_get_config(VirtIODevice *vdev, uint8_t *config) { struct virtio_9p_config *cfg; V9fsState *s = to_virtio_9p(vdev); cfg = qemu_mallocz(sizeof(struct virtio_9p_config) + s->tag_len); stw_raw(&cfg->tag_len, s->tag_len); memcpy(cfg->tag, s->tag, s->tag_len); memcpy(config, cfg, s->config_size); qemu_free(cfg); }
static void virtio_9p_get_config(VirtIODevice *vdev, uint8_t *config) { int len; struct virtio_9p_config *cfg; V9fsState *s = to_virtio_9p(vdev); len = strlen(s->tag); cfg = g_malloc0(sizeof(struct virtio_9p_config) + len); stw_raw(&cfg->tag_len, len); /* We don't copy the terminating null to config space */ memcpy(cfg->tag, s->tag, len); memcpy(config, cfg, s->config_size); g_free(cfg); }