You need to sign in or sign up before continuing.
  1. 02 Nov, 2014 5 commits
    • Max Kellermann's avatar
      c882568c
    • Max Kellermann's avatar
      decoder/faad: remove workaround for ancient libfaad2 ABI bug · f6b2899d
      Max Kellermann authored
      Many years ago, FAAD had a serious ABI bug: the NeAACDecInit()
      prototype in its header declared the "samplerate" parameter to be
      "unsigned long *", but internally, the function assumed it was
      "uint32_t *" instead.  On 32 bit machines, that was no difference, but
      on 64 bit, this left one portion of the return value uninitialized;
      and worse, on big-endian, the wrong word was filled.  This bug had to
      be worked around in MPD (commit 9c4e97a6).
      
      A few months later, the bug was fixed in the FAAD CVS in commit 1.117
      on file libfaad/decoder.c; the commit message was:
      
       "Use public headers internally to prevent duplicate declarations"
      
      The commit message was too brief at best; the problem was not
      duplicate declarations, but a prototype mismatch.  No mention of the
      bug fix in the ChangeLog.
      
      The MPD project never learned about this bug fix, and so MPD would
      always pass a "uin32_t *" dressed up as a "unsigned long *".  Nearly 6
      years later, it's about time to fix this second ABI problem.  Let's
      kill the workaround!
      f6b2899d
    • Steven OBrien's avatar
      bccd4ef2
    • Max Kellermann's avatar
      output/roar: remove unnecessary "volatile" keyword · c50a0cf7
      Max Kellermann authored
      A mutex acts as a memory barrier, and thus "volatile" is not
      necessary.
      c50a0cf7
    • Max Kellermann's avatar
      TagString: use g_strndup() for unterminated string · c37f7abb
      Max Kellermann authored
      Fixes buffer overflow bug.
      c37f7abb
  2. 26 Sep, 2014 3 commits
  3. 18 Sep, 2014 2 commits
  4. 13 Sep, 2014 1 commit
    • Max Kellermann's avatar
      thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSD · e304d0f8
      Max Kellermann authored
      On NetBSD, PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER are
      not compatible with C++11 "constexpr" (see Mantis ticket 0004110).  As
      a workaround, don't ues "constexpr", and use the functions
      pthread_mutex_init(), pthread_mutex_destroy(), pthread_cond_init() and
      pthread_cond_destroy() instead.  This adds some runtime overhead, but
      is portable to POSIX implementations that have awkward initializer
      macros.
      e304d0f8
  5. 09 Sep, 2014 1 commit
  6. 07 Sep, 2014 3 commits
  7. 06 Sep, 2014 1 commit
  8. 04 Sep, 2014 1 commit
    • Max Kellermann's avatar
      protocol/ArgParser: fix integer overflow in parse_range() · 421c4ae9
      Max Kellermann authored
      Casting std::numeric_limits<unsigned>::max() to "long" leads to an
      overflow if sizeof(unsigned)==sizeof(long), and the result will be -1.
      
      This happens on some 32 bit architectures, for example ARM and WIN32.
      
      Workaround: use std::numeric_limits<int>::max(), which is the largest
      signed integer.  Since sizeof(long)>=sizeof(int), this will never
      overflow.
      
      Fixes Mantis ticket 0004080.
      421c4ae9
  9. 31 Aug, 2014 4 commits
  10. 29 Aug, 2014 1 commit
  11. 24 Aug, 2014 2 commits
  12. 23 Aug, 2014 1 commit
  13. 21 Aug, 2014 2 commits
  14. 16 Aug, 2014 1 commit
  15. 13 Aug, 2014 1 commit
  16. 07 Aug, 2014 1 commit
  17. 02 Aug, 2014 1 commit
  18. 12 Jul, 2014 4 commits
  19. 11 Jul, 2014 5 commits