stream ftp: Pass full buffer size to snprintf
Previously the buffer size was always passed as one less than
the underlying buffer's size. This is not using the underlying
buffer to its full potential according to the C99 standard. The
last byte of the buffers were never used.
No vulnerabilities should have been caused by this mistake because
the strings stored in the buffers were zero terminated at all
times. Neither were out-of-array writes nor reads possible.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35488 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: open_f: Mark parameter file_format unused
We have nothing to say about it, so we do not set *file_format.
No need for compilers to emit a warning about it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35489 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Set type to STREAMTYPE_STREAM
Previously this was not set at all from within the stream_ftp module.
This caused the run-time warning message "Streams need a type!".
The actual behaviour should not be affected by this change.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35490 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Use C99 designated initializers
Simplify the initialization of the stream private struct's defaults.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35491 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Remove unneeded cast
At worst these kind of casts can hide real errors. As it is, it is
just not needed at all, thus remove it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35492 b3059339-0415-0410-9bf9-f77b7e298cf2
This change was split into 8 patches. Squash them together, as they
affect stream_ftp.c only.
stream ftp: readline: Fix off-by-one error
Even if max bytes are available read at most max - 1 bytes.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35427 b3059339-0415-0410-9bf9-f77b7e298cf2
Conflicts:
stream/stream_ftp.c
stream ftp: readline: Always initialize output parameter buf
Only exception if passed parameter max is less than or equal
to zero. That cannot happen with the current code.
Additionally change readresp function to always copy the first
response line if the parameter rsp is non-NULL. This fixes some
error reporting that used uninitialized stack arrays.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35428 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: readline: Always try to read complete lines
If there is not enough space in the provided line buffer just
skip the remaining bytes until reaching EOL.
Usually we are only interested in the first 5 characters and
for everything else the (on-stack) response buffer should still
be big enough.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35429 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Revise file descriptor usage
* Set unbound descriptor variables to -1
* Always test >= 0 to see if a variable refers to a valid descriptor
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35430 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Only send QUIT command if connected
Do not attempt to send commands without control connections.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35431 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Create buffers before opening control connection
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35432 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Allocate command buffer on-heap
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35433 b3059339-0415-0410-9bf9-f77b7e298cf2
stream ftp: Increase command buffer size
Allow for more longish file names (be it because of length or more
lengthy characters).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35434 b3059339-0415-0410-9bf9-f77b7e298cf2
Finish renaming directories and moving files. Adjust all include
statements to make the previous commit compile.
The two commits are separate, because git is bad at tracking renames
and content changes at the same time.
Also take this as an opportunity to remove the separation between
"common" and "mplayer" sources in the Makefile. ("common" used to be
shared between mplayer and mencoder.)
This avoids MPlayer quitting due to SIGPIPE at least for these cases.
Ignoring SIGPIPE in general would break window-closing with some
window-managers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31566 b3059339-0415-0410-9bf9-f77b7e298cf2
and put it under the proper '#ifndef HAVE_CLOSESOCKET' condition.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27505 b3059339-0415-0410-9bf9-f77b7e298cf2
This caused lots of trouble on MinGW, we need a different solution.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27504 b3059339-0415-0410-9bf9-f77b7e298cf2
This is what it is called in FFmpeg and more consistent with other
names for similar conditionals. This fixes a potential compilation
failure on MinGW, as described in Bugzilla #1262.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27493 b3059339-0415-0410-9bf9-f77b7e298cf2