Browse Source

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>
tags/n2.3
wm4 Michael Niedermayer 11 years ago
parent
commit
76c8fbc5f2
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/http.c

+ 1
- 1
libavformat/http.c View File

@@ -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);


Loading…
Cancel
Save