Go to file
Daniel Gustafsson 2873971d62 memory: ensure to check allocation results
The result of a memory allocation should always be checked, as we may
run under memory pressure where even a small allocation can fail. This
adds checking and error handling to a few cases where the allocation
wasn't checked for success. In the ftp case, the freeing of the path
variable is moved ahead of the allocation since there is little point
in keeping it around across the strdup, and the separation makes for
more readable code. In nwlib, the lock is aslo freed in the error path.

Also bumps the copyright years on affected files.

Closes #3084
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2018-10-03 23:45:38 +02:00
.github github/lock: auto-lock closed issues after 90 days of inactivity 2018-05-05 14:05:57 +02:00
CMake CMake: Improve config installation 2018-10-01 16:16:29 -04:00
docs CURLOPT_SSLVERSION.3: fix typos and consistent spelling 2018-10-03 10:22:10 +02:00
include whitespace fixes 2018-09-23 22:24:02 +00:00
lib memory: ensure to check allocation results 2018-10-03 23:45:38 +02:00
m4 configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSE 2018-09-26 18:51:34 +02:00
packages whitespace fixes 2018-09-23 22:24:02 +00:00
projects whitespace fixes 2018-09-23 22:24:02 +00:00
scripts whitespace fixes 2018-09-23 22:24:02 +00:00
src CMake: Improve config installation 2018-10-01 16:16:29 -04:00
tests test1299: use single quotes around asterisk 2018-10-02 23:35:52 +02:00
winbuild curl: enabled Windows VT Support and UTF-8 output 2018-09-29 12:39:41 +02:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes .gitattributes: force shell scripts to LF 2017-04-17 08:32:13 +02:00
.gitignore ossfuzz: Move to C++ for curl_fuzzer. 2017-09-02 11:07:55 +02:00
.lgtm.yml CI: add lgtm.yml for tweaking lgtm.com analysis 2018-03-22 00:04:55 +01:00
.mailmap URL and mailmap updates, remove an obsolete directory [ci skip] 2018-09-22 07:58:32 +00:00
.travis-iconv-env.sh travis: add build with iconv enabled 2018-02-15 14:18:34 +01:00
.travis.yml travis: bump the Secure Transport build to use xcode 10 2018-09-29 14:14:31 +02:00
CHANGES CHANGES: spell fix, use correct path to script 2017-02-07 08:22:37 +01:00
CMakeLists.txt CMake: Improve config installation 2018-10-01 16:16:29 -04:00
COPYING COPYING: it's 2018! 2018-01-09 17:08:14 +13:00
GIT-INFO CHANGES.0: removed 2017-02-07 08:20:10 +01:00
MacOSX-Framework includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
Makefile.am whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.dist build: remove the Borland specific makefiles 2018-06-02 11:23:40 +02:00
README URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
README.md whitespace fixes 2018-09-23 22:24:02 +00:00
RELEASE-NOTES RELEASE-NOTES: synced 2018-10-02 00:26:57 +02:00
acinclude.m4 configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSE 2018-09-26 18:51:34 +02:00
appveyor.yml CMake: Respect BUILD_SHARED_LIBS 2018-08-08 09:39:05 +02:00
buildconf includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
buildconf.bat whitespace fixes 2018-09-23 22:24:02 +00:00
configure.ac docs/examples: URL updates 2018-09-23 09:23:29 +00:00
curl-config.in curl-config: add --ssl-backends 2017-12-06 00:12:48 +01:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
maketgz maketgz: delete .bak files, fix indentation 2018-06-15 23:28:34 +00:00

README.md

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Coverage Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++

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.

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

Website

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

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/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.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]