qemu-char: avoid leak in qemu_chr_open_pp_fd
drv leaks if qemu_chr_alloc returns an error. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
8485140fa0
commit
27ef9cb0e7
11
qemu-char.c
11
qemu-char.c
@ -1740,18 +1740,19 @@ static CharDriverState *qemu_chr_open_pp_fd(int fd,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
drv = g_new0(ParallelCharDriver, 1);
|
|
||||||
drv->fd = fd;
|
|
||||||
drv->mode = IEEE1284_MODE_COMPAT;
|
|
||||||
|
|
||||||
chr = qemu_chr_alloc(backend, errp);
|
chr = qemu_chr_alloc(backend, errp);
|
||||||
if (!chr) {
|
if (!chr) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
drv = g_new0(ParallelCharDriver, 1);
|
||||||
|
chr->opaque = drv;
|
||||||
chr->chr_write = null_chr_write;
|
chr->chr_write = null_chr_write;
|
||||||
chr->chr_ioctl = pp_ioctl;
|
chr->chr_ioctl = pp_ioctl;
|
||||||
chr->chr_close = pp_close;
|
chr->chr_close = pp_close;
|
||||||
chr->opaque = drv;
|
|
||||||
|
drv->fd = fd;
|
||||||
|
drv->mode = IEEE1284_MODE_COMPAT;
|
||||||
|
|
||||||
return chr;
|
return chr;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user