diff options
author | wm4 <nfxjfg@googlemail.com> | 2014-03-21 21:51:30 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-03-21 23:32:09 +0400 |
commit | 76c8fbc5f22c4a93c08030b10e5dbbd4e0c4dd68 (patch) | |
tree | 138ab2d977677b97399854a23b9a93d7797c1b2a /libavformat | |
parent | 2fd14f062cfc52db1529a46b53a26b06cb418f55 (diff) |
http: never send 'Cookie: (null)' to the server
If a domain has some cookies set, but matching the cookie fails due to
the port being different, get_cookies() succeeds, but sets cookies to
NULL. The caller of get_cookies() didn't check for the NULL value.
This also avoids passing NULL to libc string functions, which is
undefined behavior
Fixes Ticket2180
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/http.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/http.c b/libavformat/http.c index 5e1c9abd89..aefc9fa245 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -746,7 +746,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path, "Content-Type: %s\r\n", s->content_type); if (!has_header(s->headers, "\r\nCookie: ") && s->cookies) { char *cookies = NULL; - if (!get_cookies(s, &cookies, path, hoststr)) { + if (!get_cookies(s, &cookies, path, hoststr) && cookies) { len += av_strlcatf(headers + len, sizeof(headers) - len, "Cookie: %s\r\n", cookies); av_free(cookies); |