[DVDnav-discuss] [PATCH] libdvdread/src/dvd_udf.c: Free `cached_dir_base` to fix memory leak

Paul Menzel paulepanter at users.sourceforge.net
Mon Nov 18 17:08:39 CET 2013


Date: Mon, 18 Nov 2013 16:09:12 +0100

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 at users.sourceforge.net>
---
 libdvdread/src/dvd_udf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libdvdread/src/dvd_udf.c b/libdvdread/src/dvd_udf.c
index 9b86f28..78eb4c8 100644
--- a/libdvdread/src/dvd_udf.c
+++ b/libdvdread/src/dvd_udf.c
@@ -594,8 +594,10 @@ static int UDFScanDir( dvd_reader_t *device, struct AD Dir, char *FileName,
     } else
       in_cache = 1;
 
-    if(cached_dir == NULL)
+    if(cached_dir == NULL) {
+      free(cached_dir_base);
       return 0;
+    }
 
     p = 0;
 
-- 
1.8.4.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.mplayerhq.hu/pipermail/dvdnav-discuss/attachments/20131118/64f0483f/attachment.asc>


More information about the DVDnav-discuss mailing list