1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-02 08:35:03 -04:00
Go to file
Daniel Stenberg 2a94293efd delayed easy handle kill caused double Curl_close() call
Hauke Duden provided an example program that made the multi
interface crash.  His example simply used the multi interface and
did first one FTP transfer and after completion it used a second
easy handle and did another FTP transfer on the same FTP server.

This triggered a bug in the "delayed easy handle kill" system
that curl uses: when an FTP connection is left alive it must keep
an easy handle around internally - only for the purpose of having
an easy handle when it later disconnects it. The code assumed
that when the easy handle was removed and an internal reference
was made, that version could be killed later on when a new easy
handle came using the same connection. This was wrong as Hauke's
example showed that the removed handle wasn't killed for real
until later. This caused a double close attempt => segfault.
2010-03-23 13:18:30 +01:00
ares Fix warnings for clang 2010-03-22 19:44:45 +01:00
CMake replaced tabs with spaces 2010-02-16 13:32:45 +00:00
docs various changes of CVS to git 2010-03-22 00:34:09 +01:00
include remove references to CVS in the code and use DEV instead 2010-03-22 00:26:29 +01:00
lib delayed easy handle kill caused double Curl_close() call 2010-03-23 13:18:30 +01:00
m4 Fix warnings for clang 2010-03-22 19:44:45 +01:00
packages provide an initial set of .gitignore files 2010-03-20 23:35:45 +01:00
perl replaced tabs with spaces 2010-02-16 13:32:45 +00:00
src provide an initial set of .gitignore files 2010-03-20 23:35:45 +01:00
tests ignore more files generated when tests run in the source tree 2010-03-23 12:43:42 +01:00
.cvsignore renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:30:24 +00:00
.gitignore more files to ignore 2010-03-21 00:21:34 +01:00
acinclude.m4 removed trailing whitespace 2010-02-14 19:40:18 +00:00
Android.mk Provide instructions on creating curl_config.h 2009-09-15 22:35:49 +00:00
buildconf Add a couple of renamed files to the removal list 2009-11-15 03:46:14 +00:00
buildconf.bat Ensure that buildconf.bat does nothing unless it is used with a CVS checkout. 2009-06-08 14:27:36 +00:00
CHANGES delayed easy handle kill caused double Curl_close() call 2010-03-23 13:18:30 +01:00
CHANGES.0 removed trailing whitespace 2010-02-14 19:40:18 +00:00
CMakeLists.txt ENH: fix build with ssl 2009-07-15 21:30:46 +00:00
configure.ac Daniel Johnson provided fixes for building with the clang compiler 2010-03-05 22:53:30 +00:00
COPYING update the generic copyright year range to include 2010 2010-03-02 13:47:58 +00:00
CTestConfig.cmake ENH: move dashboard location 2009-07-15 19:40:46 +00:00
curl-config.in Added '--configure' option to curl-config to display original configure arguments when curl was built 2009-11-14 19:23:26 +00:00
curl-style.el Use build-time configured curl_socklen_t instead of socklen_t 2009-05-02 02:37:32 +00:00
GIT-INFO s/CVS/git 2010-03-22 00:41:34 +01:00
install-sh removed trailing whitespace 2010-02-14 19:40:18 +00:00
libcurl.pc.in - Marc Kleine-Budde fixed: curl saved the LDFLAGS set during configure into 2009-11-17 18:11:06 +00:00
MacOSX-Framework removed trailing whitespace 2010-02-14 19:40:18 +00:00
Makefile.am fix the find command line 2009-11-04 12:34:48 +00:00
Makefile.dist - David Byron modified Makefile.dist vc8 and vc9 targets in order to allow 2009-11-23 16:48:31 +00:00
maketgz various changes of CVS to git 2010-03-22 00:34:09 +01:00
missing renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:25:14 +00:00
mkinstalldirs Make mkinstalldirs ignore umask, for consistency with the rest of the 2008-02-01 20:34:27 +00:00
README various changes of CVS to git 2010-03-22 00:34:09 +01:00
RELEASE-NOTES delayed easy handle kill caused double Curl_close() call 2010-03-23 13:18:30 +01:00
sample.emacs Remove empty line used to force CVS to update the $Id date string format 2009-05-19 12:12:22 +00:00
TODO-RELEASE "260 - IMAP, POP3 and SMTP support" done! 2010-01-19 21:29:29 +00:00
vc6curl.dsw Renamed vc6 workspace and project files to avoid filename clash when used for conversion to later VS versions. 2009-05-08 17:51:44 +00:00

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

README

  Curl is a command line tool for transferring data specified with URL
  syntax. Find out how to use curl by reading the curl.1 man page or the
  MANUAL document. Find out how to install Curl by reading the INSTALL
  document.

  libcurl is the library curl is using to do its job. It is readily
  available to be used by your software. Read the libcurl.3 man page to
  learn how!

  You find answers to the most frequent questions we get in the FAQ document.

  Study the COPYING file for distribution terms and similar. If you distribute
  curl binaries or other binaries that involve libcurl, you might enjoy the
  LICENSE-MIXING document.

CONTACT

  If you have problems, questions, ideas or suggestions, please contact us
  by posting to a suitable mailing list. See http://curl.haxx.se/mail/

  All contributors to the project are listed in the THANKS document.

WEB SITE

  Visit the curl web site for the latest news and downloads:

        http://curl.haxx.se/

GIT

  To download the very latest source off the GIT server do this:

    git clone git://github.com/bagder/curl.git

  (you'll get a directory named curl created, filled with the source code)

NOTICE

  Curl contains pieces of source code that is Copyright (c) 1998, 1999
  Kungliga Tekniska Högskolan. This notice is included here to comply with the
  distribution terms.