aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-06-14fix segmentation fault in song info parserMax Kellermann1-4/+5
The database parser does not check whether the song object has been initialized yet, which may lead to a NULL pointer dereference. Add this check. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7379 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-06-14fix strtok() related segmentation faultMax Kellermann1-1/+4
strtok() may return NULL if the input is an empty string. The playlist parser did not check for that. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7378 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-06-14jack: initialize audioOutput->dataMax Kellermann1-1/+3
Initialize audioOutput->data with NULL in jack_initDriver(). Previously, this was never initialized, although the other functions relied on it being NULL prior to jack_openDevice(). This patch addresses bug 0001641[1]. In contrast to the patch provided by the bug reporter, it moves the initialization before the "!param" check. [1] - http://musicpd.org/mantis/view.php?id=1641 git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7377 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-06-14mod: fix crashing on modtracker filesHans de Goede1-1/+1
This patch was taken from http://bugzilla.livna.org/show_bug.cgi?id=1987 and addresses bug 0001693[1] [1] - http://musicpd.org/mantis/view.php?id=1693 git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7376 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-29storedPlaylist: faster, but less accurate check for maximum sizesEric Wong1-7/+7
There are still other ways to run the mpd server out of disk-space, so permissions are still recommended to protect against malicious users. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7178 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-27interface: abort if we expire while processing linesEric Wong1-0/+2
If we keep processing expired interfaces in a loop, we'll eventually close it and get fd < 0, causing assertions to fail. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7175 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-27Redirect stdin *before* we establish a listen socketEric Wong2-15/+29
This way we'll avoid listening on fd=0 and have a better chance of having fd=0 as /dev/null git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7174 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-27Fix Sun C 5.9 / C99 compatiblityEric Wong1-1/+1
From sbh, r7041 and r7042 from trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7173 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-27pcm_utils: remove redundant semi-colon (breaks compilation with some compilers)Eric Wong1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7170 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-27Know about SND_PCM_STATE_RUNNING, might fix some bugsEric Wong1-0/+4
From qball, r7077 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7169 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26storedPlaylist: prevent potential DoS from stored playlist commandsEric Wong3-2/+19
While mpd has always protected against the infinite expansion of the main playlist by limiting its size in memory, however the new storedPlaylist code has never checked for this limit. Malicious (or clumsy) users could repeatedly append songs to stored playlists, causing files to grow increasingly large on disk. Attempting to load extremely large files into memory will require mpd to slurp that all into memory, and ultimately the file would be unusable by mpd because of the configurable playlist size limit. Now we limit stored playlists to the max_playlist_length configuration variable set by the user (default is 16384). We will refuse to append to playlist files if they hit that limit; and also refuse to load more than the specified amount of songs into memory. r7154 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7165 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26fix builds that only have FLAC >= 1.1.3 but not Ogg-VorbisEric Wong3-9/+9
r7108 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7164 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26If clearing stored playlist fails, don't return error + OK. but only the ↵Eric Wong1-2/+1
error. this was caused by always having the handleStoredPlaylist function return 0. From qball, r7105 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7163 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26conf.c: remove extra semi-colon here, tooEric Wong1-1/+1
r6874 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7162 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26dmix fix, don't call snd_pcm_drain unless we're already in the RUNNING state ↵Eric Wong1-1/+3
(when users press stop, previous snd_pcm_drop(), then snd_pcm_drain() was called. this would lockup dmix) From shank, r6517 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7161 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26removing debug messages from signal handlersEric Wong4-10/+18
As unfortunate as it is to remove such useful debugging messages, it's necessary to fix a potential deadlock with signal handling. A bunch of functions the debug functions call aren't safe to call from a signal handler. There are some alternate solutions, but they're neither pretty nor simple. So just remove them entirely for now. From: jat, r6828 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7160 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26Fix endless loop when mpd is launched from a non-interactive shell.Eric Wong1-1/+5
Thanks to _noth_ for the patch, this fixes Mantis bug #1534 _noth_ wrote: > When MPD is launched from a non-interactive shell, it enters an endless > loop, filling up its error log file with "error accept()'ing" messages. > This is caused by the fact that stdin is already closed when mpd starts > up. listenOnPort() opens up the first of its sockets as fd 0 (the first > empty fd table position). Then, setup_log_output()->redirect_stdin() > overwrites fd0 (fd=open("/dev/null",...); dup2(fd, STDIN_FILENO);) > without checking if it corresponds to the actual standard input (or if > it is open in the first place). This means that listenSockets[0].fd now > is a fd for /dev/null, thus doIOForInterfaces()->getConnections() can't > accept(2) on it and fails with the above error. The attached patch fixes > this for me. r6843 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7159 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26zeroconf: avoid passing NULLs to Avahi *_free() routinesEric Wong1-4/+6
This should fix Debian bug #428551 (mpd crashes when restarting the dbus daemon) r6844 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7158 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26mpc_plugin: break out if a missed error branchEric Wong1-0/+2
We shouldn't try to continue if mpc_decoder_initialize() fails. r7113 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7157 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-01-26storedPlaylist: avoid segfaulting with "/" in the pathEric Wong1-2/+10
A different, cleaner fix was used in trunk. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7156 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-09-17fixup includes for new (1.1.4+ FLAC) (thx normalperson)Avuton Olrich1-1/+3
git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@6897 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-28Adding ioops.h to mpd_headers so that it gets included in the tarball.J. Alexander Treuman1-0/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6323 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27Increasing default buffer_before_play from 0% to 10%.J. Alexander Treuman1-2/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@6290 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27Fix compilation error (missing ,)Avuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6289 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26"unable open" -> "unable to open"J. Alexander Treuman1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26After changing ERROR();exit() to FATAL(), gcc incorrectly detects someJ. Alexander Treuman3-6/+6
uninitialized variables and non-returning functions that return. Let's tell it to stfu. git-svn-id: https://svn.musicpd.org/mpd/trunk@6277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Changing all calls to ERROR() followed by exit(EXIT_FAILURE) with a singleJ. Alexander Treuman21-273/+135
call to FATAL(). git-svn-id: https://svn.musicpd.org/mpd/trunk@6276 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Cleaning up pcm_getSampleRateConverter.J. Alexander Treuman1-23/+27
git-svn-id: https://svn.musicpd.org/mpd/trunk@6275 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Exit with an error if channel count isn't 1 or 2.J. Alexander Treuman1-0/+4
git-svn-id: https://svn.musicpd.org/mpd/trunk@6274 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Make pcm_convertAudioFormat return the buffer size. This is necessaryJ. Alexander Treuman4-31/+32
because lsr may return less than the input buffer size, and the rest of the audio code needs to know the new size. This fixes the clicking that was introduced with recent changes to the lsr code. A huge thanks to remiss for figuring this out. git-svn-id: https://svn.musicpd.org/mpd/trunk@6273 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26weather -> whetherJ. Alexander Treuman1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6271 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Changing calls to strdup to xstrdup.J. Alexander Treuman1-2/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@6270 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Cleaning up addToStoredPlaylist. Now we call freeJustSong if adding a URL.J. Alexander Treuman1-9/+18
git-svn-id: https://svn.musicpd.org/mpd/trunk@6269 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Make sure StoredPlaylists always contain UTF-8 paths that are eitherJ. Alexander Treuman2-23/+38
relative paths in the DB or URLs. The main functional difference is that playlistmove and playlistdelete will rewrite playlists in the correct encoding and remove invalid lines instead of potentially modifying them. The specific changes are: appendSongToStoredPlaylist: * Don't convert to FS charset * Don't prepend music_directory if saving absolute paths writeStoredPlaylistToPath: * Convert to FS charset * Prepend music_directory if saving absolute paths loadStoredPlaylist: * Make sure each line is either in the DB or a URL loadPlaylist: * Don't bother checking paths, since it's done in loadStoredPlaylist now git-svn-id: https://svn.musicpd.org/mpd/trunk@6266 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26More formatting/error message cleanups in storedPlaylist.c.J. Alexander Treuman1-50/+18
git-svn-id: https://svn.musicpd.org/mpd/trunk@6265 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-26Don't call freeStoredPlaylist(sp) inside an if (!sp) block. It causesJ. Alexander Treuman1-2/+0
segfaults. git-svn-id: https://svn.musicpd.org/mpd/trunk@6264 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-25Cleaning up formatting and error messages in storedPlaylist.c.J. Alexander Treuman1-63/+25
git-svn-id: https://svn.musicpd.org/mpd/trunk@6263 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24Reverting to the full lsr API. Turns out the simple API needs all of theJ. Alexander Treuman7-36/+85
audio at once, so it won't work for us. The old full API code was still heavily broken, as each call to pcm_convertSampleRate() used the same state, even if it was processing two streams of audio. The new code keeps a separate state for each audio stream that's being converted. git-svn-id: https://svn.musicpd.org/mpd/trunk@6255 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24Adding rename command, for renaming stored playlists.J. Alexander Treuman3-0/+74
git-svn-id: https://svn.musicpd.org/mpd/trunk@6246 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24Cleaning up error messages in storedPlaylist.c.J. Alexander Treuman1-28/+42
git-svn-id: https://svn.musicpd.org/mpd/trunk@6245 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-24Don't list playlists in lsinfo if the path isn't the root directory (theyJ. Alexander Treuman3-12/+23
can't be loaded anyway). git-svn-id: https://svn.musicpd.org/mpd/trunk@6244 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23Changing some DEBUG/ERROR/FATAL messages in the JACK plugin.J. Alexander Treuman1-18/+13
git-svn-id: https://svn.musicpd.org/mpd/trunk@6232 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23Tidying up pcm_utils.c a bit more.J. Alexander Treuman1-8/+9
git-svn-id: https://svn.musicpd.org/mpd/trunk@6230 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23Switching to the lsr simple API. The problem with the full API is that theJ. Alexander Treuman1-19/+7
number of channels is specified when the converter state is created. Previously this was only done once, thus breaking horribly when the input audio suddenly had a different channel count. A new state could be created every time the number of channels changes, but this could happen many times a second if resampling to two different formats at once. The simple API doesn't have this problem, as channel count is an argument to the conversion function itself. git-svn-id: https://svn.musicpd.org/mpd/trunk@6229 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22Just specify mimeType as NULL in mpc's InputPlugin struct.J. Alexander Treuman1-2/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@6225 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22Split pcm_convertAudioFormat into separate functions for bitrate, channel,J. Alexander Treuman4-186/+217
and samplerate conversion. This makes the code much easier to read, and fixes a few bugs that were previously there. git-svn-id: https://svn.musicpd.org/mpd/trunk@6224 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22Cleaning up/correcting some comments.J. Alexander Treuman1-10/+7
git-svn-id: https://svn.musicpd.org/mpd/trunk@6200 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-22ReindentingJ. Alexander Treuman1-10/+12
git-svn-id: https://svn.musicpd.org/mpd/trunk@6199 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-16Fail loading the playlist on errors mid-file. The same code is used forJ. Alexander Treuman1-0/+4
playlistadd, playlistdelete, etc. and would've caused the playlist to be rewritten only up to the line with the error. git-svn-id: https://svn.musicpd.org/mpd/trunk@6133 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-16Committing pat's rewrite of the stored playlist code. This also adds twoJ. Alexander Treuman7-282/+643
new commands: playlistmove and playlistdelete. git-svn-id: https://svn.musicpd.org/mpd/trunk@6116 09075e82-0dd4-0310-85a5-a0d7c8717e4f