mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
abfd154efd
If `index.html` does not exist in the directory from which the example is invoked, the fopen(upload, "rb") invocation in `setup` would fail, returning NULL. This value is subsequently passed as the FILE* argument of the `fread` invocation in the `read_callback` function, which is the actual cause of the crash (apparently `fread` assumes that argument to be non-null). In addition, mitigate some possible crashes of similar origin. Closes #5463 |
||
---|---|---|
.. | ||
.checksrc | ||
.gitignore | ||
10-at-a-time.c | ||
adddocsref.pl | ||
altsvc.c | ||
anyauthput.c | ||
cacertinmem.c | ||
certinfo.c | ||
chkspeed.c | ||
cookie_interface.c | ||
crawler.c | ||
curlgtk.c | ||
curlx.c | ||
debug.c | ||
ephiperfifo.c | ||
evhiperfifo.c | ||
externalsocket.c | ||
fileupload.c | ||
fopen.c | ||
ftp-wildcard.c | ||
ftpget.c | ||
ftpgetinfo.c | ||
ftpgetresp.c | ||
ftpsget.c | ||
ftpupload.c | ||
ftpuploadfrommem.c | ||
ftpuploadresume.c | ||
getinfo.c | ||
getinmemory.c | ||
getredirect.c | ||
ghiper.c | ||
hiperfifo.c | ||
href_extractor.c | ||
htmltidy.c | ||
htmltitle.cpp | ||
http2-download.c | ||
http2-pushinmemory.c | ||
http2-serverpush.c | ||
http2-upload.c | ||
http3-present.c | ||
http3.c | ||
http-post.c | ||
httpcustomheader.c | ||
httpput.c | ||
https.c | ||
imap-append.c | ||
imap-authzid.c | ||
imap-copy.c | ||
imap-create.c | ||
imap-delete.c | ||
imap-examine.c | ||
imap-fetch.c | ||
imap-list.c | ||
imap-lsub.c | ||
imap-multi.c | ||
imap-noop.c | ||
imap-search.c | ||
imap-ssl.c | ||
imap-store.c | ||
imap-tls.c | ||
Makefile.am | ||
makefile.dj | ||
Makefile.example | ||
Makefile.inc | ||
Makefile.m32 | ||
Makefile.netware | ||
multi-app.c | ||
multi-debugcallback.c | ||
multi-double.c | ||
multi-event.c | ||
multi-formadd.c | ||
multi-poll.c | ||
multi-post.c | ||
multi-single.c | ||
multi-uv.c | ||
multithread.c | ||
opensslthreadlock.c | ||
parseurl.c | ||
persistent.c | ||
pop3-authzid.c | ||
pop3-dele.c | ||
pop3-list.c | ||
pop3-multi.c | ||
pop3-noop.c | ||
pop3-retr.c | ||
pop3-ssl.c | ||
pop3-stat.c | ||
pop3-tls.c | ||
pop3-top.c | ||
pop3-uidl.c | ||
post-callback.c | ||
postinmemory.c | ||
postit2-formadd.c | ||
postit2.c | ||
progressfunc.c | ||
README | ||
resolve.c | ||
rtsp.c | ||
sampleconv.c | ||
sendrecv.c | ||
sepheaders.c | ||
sessioninfo.c | ||
sftpget.c | ||
sftpuploadresume.c | ||
shared-connection-cache.c | ||
simple.c | ||
simplepost.c | ||
simplessl.c | ||
smooth-gtk-thread.c | ||
smtp-authzid.c | ||
smtp-expn.c | ||
smtp-mail.c | ||
smtp-mime.c | ||
smtp-multi.c | ||
smtp-ssl.c | ||
smtp-tls.c | ||
smtp-vrfy.c | ||
sslbackend.c | ||
synctime.c | ||
threaded-shared-conn.c | ||
threaded-ssl.c | ||
url2file.c | ||
urlapi.c | ||
usercertinmem.c | ||
version-check.pl | ||
xmlstream.c |
_ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| This directory is for libcurl programming examples. They are meant to show some simple steps on how you can build your own application to take full advantage of libcurl. If you end up with other small but still useful example sources, please mail them for submission in future packages and on the web site. BUILDING The Makefile.example is an example makefile that could be used to build these examples. Just edit the file according to your system and requirements first. Most examples should build fine using a command line like this: $ `curl-config --cc --cflags --libs` -o example example.c Some compilers don't like having the arguments in this order but instead want you do reorganize them like: $ `curl-config --cc` -o example example.c `curl-config --cflags --libs` *PLEASE* do not use the curl.haxx.se site as a test target for your libcurl applications/experiments. Even if some of the examples use that site as a URL at some places, it doesn't mean that the URLs work or that we expect you to actually torture our web site with your tests! Thanks. EXAMPLES Each example source code file is designed to be and work stand-alone and rather self-explanatory. The examples may at times lack the level of error checks you need in a real world, but that is then only for the sake of readability: to make the code smaller and easier to follow.