1. 13 May, 2014 2 commits
  2. 08 May, 2014 1 commit
  3. 24 Apr, 2014 1 commit
    • Steve Dibb's avatar
      Fix crash in ifoRead_VTS_PTT_SRPT() · 0cd997af
      Steve Dibb authored
      In ifoRead_VTS_PTT_SRPT(), there's a lot of places where the
      function will exit on a 'goto fail' call if the IFO is invalid.
      
      However, the check for the PGN value is only done later.
      
      This fixes it so that it fails earlier -- when the PGN is
      originally set, and doesn't go through the other checks as well, trying to set
      invalid data that will be referenced later.
      
      See VLC trac #10459
      0cd997af
  4. 17 Apr, 2014 1 commit
  5. 12 Apr, 2014 2 commits
  6. 09 Apr, 2014 8 commits
  7. 30 Mar, 2014 1 commit
  8. 02 Mar, 2014 3 commits
  9. 20 Feb, 2014 1 commit
  10. 18 Feb, 2014 1 commit
    • Steve Dibb's avatar
      Fix DVDDiscID from reading non-existent IFO files · c820067e
      Steve Dibb authored
      In dvd_reader.c, the DVDDiscID function gets the MD5 from the total contents
      of the IFO files on the disc.  However, it gets it by looping through the
      the first ten IFO files, whether they exist or not.
      
      This results in spewage, where a disc has less than ten.  In this case,
      Dragonheart only has two:
      
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_03_0.IFO failed
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_04_0.IFO failed
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_05_0.IFO failed
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_06_0.IFO failed
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_07_0.IFO failed
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_08_0.IFO failed
      libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_09_0.IFO failed
      
      Instead of using a set limit of 10 IFOs, this patch counts the number of
      VTSes existing on the DVD, and will use that number instead if it is less
      than 10.
      Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
      c820067e
  11. 09 Jan, 2014 5 commits
  12. 02 Jan, 2014 7 commits
  13. 29 Dec, 2013 7 commits
    • Jean-Baptiste Kempf's avatar
      ifo_read: use info_length as size_t · ee24a037
      Jean-Baptiste Kempf authored
      And kill a warning
      ee24a037
    • Jean-Baptiste Kempf's avatar
      ifo_read: use info_length as a size_t · af599d51
      Jean-Baptiste Kempf authored
      This makes sense since it is used as a malloc' size.
      And add a check in case it would have been negative
      af599d51
    • Mike Gorchak's avatar
      Make libdvdread compile under QNX · f0bcc87c
      Mike Gorchak authored
      Signed-off-by: default avatarErik Hovland <erik@hovland.org>
      Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
      f0bcc87c
    • Paul Menzel's avatar
      Use 0 instead of NULL in integer comparison · 7431b747
      Paul Menzel authored
      Both GCC 4.8.2 and Clang 3.4 warn about a format mismatch in a
      comparison.
      
              libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -mno-ms-bitfields -O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOUR
      CE -MT ifo_read.lo -MD -MP -MF .deps/ifo_read.Tpo -c ifo_read.c  -fPIC -DPIC -o .libs/ifo_read.o
              […]
              ifo_read.c: In function 'ifoRead_PTL_MAIT':
              ifo_read.c:1313:34: warning: comparison between pointer and integer [enabled by default]
                 if(ifofile->vmgi_mat->ptl_mait == NULL)
      
              libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -MT ifo_read.
      lo -MD -MP -MF .deps/ifo_read.Tpo -c ifo_read.c  -fPIC -DPIC -o .libs/ifo_read.o
              […]
              ifo_read.c:1313:34: warning: comparison between pointer and integer ('uint32_t' (aka 'unsigned int') and 'void *')
                if(ifofile->vmgi_mat->ptl_mait == NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
      
      Fix this by using the integer 0 instead of `NULL`.
      7431b747
    • Paul Menzel's avatar
      Abort when PTT search table has zero entries · ec45ee70
      Paul Menzel authored
      The static analyzer from LLVM/Clang 1:3.4~svn194079-1 reports a possible
      allocation of size 0 in `libdvdread/src/ifo_read.c`.
      
              $ scan-build -o scan-build make
              $ scan-view scan-build/2013-11-18-155601-16168-1
      
      When `vts_ptt_srpt->nr_of_srpts` is zero the allocation size is zero.
      
              vts_ptt_srpt->title = malloc(vts_ptt_srpt->nr_of_srpts * sizeof(ttu_t));
      
      The manual of the function `malloc` writes the following.
      
              If size is 0, then malloc() returns either NULL, or a unique
              pointer value that can later be successfully passed to free().
      
      So check for 0 and, if it is, abort by going to the label `fail`.
      ec45ee70
    • Paul Menzel's avatar
      Free `cached_dir_base` to fix memory leak · 4c2728ff
      Paul Menzel authored
      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: default avatarPaul Menzel <paulepanter@users.sourceforge.net>
      4c2728ff
    • Paul Menzel's avatar