Commit 94fb5c71 authored by Jean-Paul Saman's avatar Jean-Paul Saman

fb: do not segfault when OpenDisplay() fails in Create().

When the plugin fails to open the framebuffer, then the mmap might
not have been done yet. In this case a segmentation fault will occur
when memset is called on p_sys->p_video. (p_sys->p_video is either NULL,
or MMAP_FAILED.)
parent fe83d5a4
...@@ -941,9 +941,13 @@ static int OpenDisplay( vout_thread_t *p_vout ) ...@@ -941,9 +941,13 @@ static int OpenDisplay( vout_thread_t *p_vout )
*****************************************************************************/ *****************************************************************************/
static void CloseDisplay( vout_thread_t *p_vout ) static void CloseDisplay( vout_thread_t *p_vout )
{ {
/* Clear display */ if( p_vout->p_sys->p_video != NULL &&
memset( p_vout->p_sys->p_video, 0, p_vout->p_sys->i_page_size ); p_vout->p_sys->p_video != MAP_FAILED )
munmap( p_vout->p_sys->p_video, p_vout->p_sys->i_page_size ); {
/* Clear display */
memset( p_vout->p_sys->p_video, 0, p_vout->p_sys->i_page_size );
munmap( p_vout->p_sys->p_video, p_vout->p_sys->i_page_size );
}
if( p_vout->p_sys->i_fd >= 0 ) if( p_vout->p_sys->i_fd >= 0 )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment