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
dev
Rob Bradford 11 years ago committed by Kristian Høgsberg
parent 5c89710166
commit f8ef42feae
  1. 4
      src/compositor-fbdev.c

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

Loading…
Cancel
Save