On Mon, 24 Jul 2017 15:27:28 -0300
Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> free the data _after_ using it.
>
> hw/vfio/platform.c:126:29: warning: Use of memory after it is freed
> qemu_set_fd_handler(*pfd, NULL, NULL, NULL);
> ^~~~
>
> Reported-by: Clang Static Analyzer
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> hw/vfio/platform.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
> index 7c09deda61..da84abf4fc 100644
> --- a/hw/vfio/platform.c
> +++ b/hw/vfio/platform.c
> @@ -120,11 +120,11 @@ static int vfio_set_trigger_eventfd(VFIOINTp *intp,
> *pfd = event_notifier_get_fd(intp->interrupt);
> qemu_set_fd_handler(*pfd, (IOHandler *)handler, NULL, intp);
> ret = ioctl(vbasedev->fd, VFIO_DEVICE_SET_IRQS, irq_set);
> - g_free(irq_set);
> if (ret < 0) {
> error_report("vfio: Failed to set trigger eventfd: %m");
> qemu_set_fd_handler(*pfd, NULL, NULL, NULL);
> }
> + g_free(irq_set);
> return ret;
> }
>
I'll snag this and 13/35 for a pull request with Paolo's R-b. Connie
has already put a fix in for the other vfio related one, 14/35. Thanks!
Alex