compositor-fbdev: Avoid dereferencing a pointer in freed memory

fbdev_output_destroy will free the memory passed into in and since we
want to pass the device name into fbdev_output_create we need to save
this to an intermediate value
This commit is contained in:
Rob Bradford 2013-07-26 16:29:38 +01:00 committed by Kristian Høgsberg
parent 86b18279d0
commit 4303a8c6ab

View file

@ -673,6 +673,7 @@ fbdev_output_reenable(struct fbdev_compositor *compositor,
struct fbdev_output *output = to_fbdev_output(base);
struct fbdev_screeninfo new_screen_info;
int fb_fd;
const char *device;
weston_log("Re-enabling fbdev output.\n");
@ -697,8 +698,9 @@ fbdev_output_reenable(struct fbdev_compositor *compositor,
/* Remove and re-add the output so that resources depending on
* the frame buffer X/Y resolution (such as the shadow buffer)
* are re-initialised. */
device = output->device;
fbdev_output_destroy(base);
fbdev_output_create(compositor, output->device);
fbdev_output_create(compositor, device);
return 0;
}