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 <[email protected]>
---
 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

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
DVDnav-discuss mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/dvdnav-discuss

Reply via email to