]> git.sesse.net Git - vlc/commitdiff
screen_win32: fix potential memleak and use DeleteDC instead of ReleaseDC.
authorRémi Duraffort <ivoire@videolan.org>
Sun, 8 Mar 2009 20:46:14 +0000 (21:46 +0100)
committerRémi Duraffort <ivoire@videolan.org>
Sun, 8 Mar 2009 21:31:20 +0000 (22:31 +0100)
modules/access/screen/win32.c

index 3812393598f0f0e53ea4c3177a530e62f8c4f489..fd0adbc6f20f7e37c81eaaaa0bcda6865a0d7961 100644 (file)
@@ -64,6 +64,7 @@ int screen_InitCapture( demux_t *p_demux )
     if( !p_data->hdc_src )
     {
         msg_Err( p_demux, "cannot get device context" );
+        free( p_data );
         return VLC_EGENERIC;
     }
 
@@ -71,6 +72,7 @@ int screen_InitCapture( demux_t *p_demux )
     if( !p_data->hdc_dst )
     {
         msg_Err( p_demux, "cannot get compat device context" );
+        free( p_data );
         ReleaseDC( 0, p_data->hdc_src );
         return VLC_EGENERIC;
     }
@@ -90,8 +92,9 @@ int screen_InitCapture( demux_t *p_demux )
     default:
         msg_Err( p_demux, "unknown screen depth %i",
                  p_sys->fmt.video.i_bits_per_pixel );
+        DeleteDC( p_data->hdc_dst );
         ReleaseDC( 0, p_data->hdc_src );
-        ReleaseDC( 0, p_data->hdc_dst );
+        free( p_data );
         return VLC_EGENERIC;
     }