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 );