1. 21 Jan, 2015 4 commits
  2. 24 Oct, 2014 1 commit
  3. 13 May, 2014 1 commit
  4. 08 May, 2014 1 commit
  5. 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
  6. 02 Jan, 2014 3 commits
  7. 29 Dec, 2013 5 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
    • 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
  8. 30 Nov, 2013 1 commit
  9. 05 Feb, 2013 1 commit
  10. 15 Nov, 2011 1 commit
  11. 12 Nov, 2011 1 commit
    • John Stebbins's avatar
      Sanitize PTT start offsets · 378515aa
      John Stebbins authored
      If the start offset points past the last_byte (outside the region read) stop
      reading PTTs and adjust nr_of_srpts.
      
      Fixes Transformers 3.
      378515aa
  12. 10 Oct, 2011 3 commits
  13. 12 Dec, 2012 1 commit
    • Ingo Brückl's avatar
      Remove erroneous free(). · de1d42e6
      Ingo Brückl authored
      The address operator is wrong and the memory actually meant
      to be freed has already been freed by ifoFree_PGC() anyway.
      de1d42e6
  14. 09 Dec, 2012 2 commits
  15. 07 Oct, 2011 1 commit
  16. 06 Oct, 2011 1 commit
  17. 13 Aug, 2011 5 commits
  18. 30 Jan, 2011 3 commits
    • Frédéric Marchal's avatar
      Report which index failed reading · 468e8841
      Frédéric Marchal authored
      When reading the parental management information, report what
      index if that read failed. This should improve error reporting.
      468e8841
    • Frédéric Marchal's avatar
      Replaces the hard-coded values · 0fc8b0b3
      Frédéric Marchal authored
      The parental management structure has ratings levels. The size
      of the bit mask is constant but magic values were being used
      instead of named constants. This commit changes them to named
      constants.
      0fc8b0b3
    • Frédéric Marchal's avatar
      Inhibit double free of parental management information · 7e824eee
      Frédéric Marchal authored
      If reading the country data fails the point to the parental
      management information is not nulled out. So it is possible for
      the same structure to be freed twice. To inhibit this whenever
      the country data read fails the structure pointer is assigned
      null.
      7e824eee
  19. 08 Aug, 2010 1 commit
  20. 31 Jul, 2010 2 commits
    • Erik Hovland's avatar
      Provide BUP file support for more issues. · 3e74c740
      Erik Hovland authored
      The BUP file is only opened when the IFO file open fails. We have a
      few times where file corruption could happen and we could use the
      BUP instead. This patch attempts to address this by trying to
      open the BUP if there is any reported error w/ the IFO. Inspiration
      for this patch came from Rich E, thanks for the detailed bug
      report and attempts at using earlier patches.
      3e74c740
    • Erik Hovland's avatar
      Fix a spelling error in ifo_read.c · 7506b3b5
      Erik Hovland authored
      7506b3b5
  21. 02 Sep, 2009 1 commit
    • Erik Hovland's avatar
      Use parens to make the 'is present' mask explicit · a82f6118
      Erik Hovland authored
      W/o parens the check for the 'is present' mask will not work right
      because the ! operator will evaluate first. But by wrapping the
      & operation in parens, we make it explicit that this goes first.
      And so the is present flag will be properly evaluated in the
      conditional
      
      a82f6118