Mercurial > libdvdread4.hg
comparison dvd_udf.c @ 90:9f5802d2767a src
Free `cached_dir_base` to fix memory leak
The static analyzer from LLVM/Clang 1:3.4~svn194079-1 reports a memory
leak in `libdvdread/src/dvd_udf.c`.
$ scan-build -o scan-build make
$ scan-view scan-build/2013-11-18-155601-16168-1
The memory is allocated in
if((cached_dir_base = malloc(dir_lba * DVD_VIDEO_LB_LEN + 2048)) == NULL)
and has to be freed before returning from the function.
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
author | rathann |
---|---|
date | Mon, 18 Nov 2013 23:43:16 +0000 |
parents | 1b8797855771 |
children |
comparison
equal
deleted
inserted
replaced
89:42d169fbee1d | 90:9f5802d2767a |
---|---|
592 SetUDFCache(device, LBUDFCache, lbnum, data); | 592 SetUDFCache(device, LBUDFCache, lbnum, data); |
593 } | 593 } |
594 } else | 594 } else |
595 in_cache = 1; | 595 in_cache = 1; |
596 | 596 |
597 if(cached_dir == NULL) | 597 if(cached_dir == NULL) { |
598 free(cached_dir_base); | |
598 return 0; | 599 return 0; |
600 } | |
599 | 601 |
600 p = 0; | 602 p = 0; |
601 | 603 |
602 while( p < Dir.Length ) { | 604 while( p < Dir.Length ) { |
603 UDFDescriptor( &cached_dir[ p ], &TagID ); | 605 UDFDescriptor( &cached_dir[ p ], &TagID ); |