libucil/SOURCES/libucil-0.9.10-leaks.patch

48 lines
1.7 KiB
Diff

src/ucil_png.c | 1 +
src/ucil_rawavi.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/src/ucil_png.c b/src/ucil_png.c
index 9fd9de3..2406ce7 100644
--- a/src/ucil_png.c
+++ b/src/ucil_png.c
@@ -286,6 +286,7 @@ unicap_status_t ucil_load_png( char *filename, unicap_data_buffer_t *buffer )
if( !check_if_png( filename, &f ) )
{
TRACE( "File '%s' is not a valid PNG image\n", filename );
+ fclose( f );
return STATUS_FAILURE;
}
diff --git a/src/ucil_rawavi.c b/src/ucil_rawavi.c
index d578922..8b6f7b4 100644
--- a/src/ucil_rawavi.c
+++ b/src/ucil_rawavi.c
@@ -225,6 +225,7 @@ static void avi_list_pad( avi_buffer_t *list, int offset, int padding )
padsize = padding - ( ( offset + list->dwPtr + sizeof( avi_list_t ) - 4 ) % padding );
avi_add_chunk( list, UCIL_FOURCC( 'J', 'U', 'N', 'K' ), padsize, chunk_buffer );
+ free( chunk_buffer );
}
@@ -573,6 +574,7 @@ static avi_buffer_t *ucil_rawavi_create_index( ucil_rawavi_video_file_object_t *
avi_index_entry_t *idx;
int i;
int offset = 4;
+ avi_buffer_t *buf;
idx = malloc( vobj->movi_frames * sizeof( avi_index_entry_t ) );
@@ -586,7 +588,9 @@ static avi_buffer_t *ucil_rawavi_create_index( ucil_rawavi_video_file_object_t *
offset += vobj->format.buffer_size + 8;
}
- return avi_create_chunk( UCIL_FOURCC( 'i', 'd', 'x', '1' ), idx, vobj->movi_frames * sizeof( avi_index_entry_t ) );
+ buf = avi_create_chunk( UCIL_FOURCC( 'i', 'd', 'x', '1' ), idx, vobj->movi_frames * sizeof( avi_index_entry_t ) );
+ free( idx );
+ return buf;
}
unicap_status_t ucil_rawavi_close_video_file( ucil_rawavi_video_file_object_t *vobj )