[svn] Fix crash with --no-cookies.

This commit is contained in:
hniksic 2005-06-21 18:06:48 -07:00
parent b317cb1c6d
commit 6895126a68
2 changed files with 31 additions and 23 deletions

View File

@ -1,3 +1,10 @@
2005-06-22 Hrvoje Niksic <hniksic@xemacs.org>
* http.c (gethttp): Only handle --set-cookies (and assert that
cookie jar exists) if opt.cookies is true. Failure to do so
triggered the assert when --no-cookies was used and the server
sent a Set-Cookie header. Ouch!
2005-06-22 Hrvoje Niksic <hniksic@xemacs.org>
* connect.c (select_fd): Expect select() to exist.

View File

@ -1704,29 +1704,30 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy)
hs->remote_time = resp_header_strdup (resp, "Last-Modified");
/* Handle (possibly multiple instances of) the Set-Cookie header. */
{
char *pth = NULL;
int scpos;
const char *scbeg, *scend;
/* The jar should have been created by now. */
assert (wget_cookie_jar != NULL);
for (scpos = 0;
(scpos = resp_header_locate (resp, "Set-Cookie", scpos,
&scbeg, &scend)) != -1;
++scpos)
{
char *set_cookie; BOUNDED_TO_ALLOCA (scbeg, scend, set_cookie);
if (pth == NULL)
{
/* u->path doesn't begin with /, which cookies.c expects. */
pth = (char *) alloca (1 + strlen (u->path) + 1);
pth[0] = '/';
strcpy (pth + 1, u->path);
}
cookie_handle_set_cookie (wget_cookie_jar, u->host, u->port, pth,
set_cookie);
}
}
if (opt.cookies)
{
char *pth = NULL;
int scpos;
const char *scbeg, *scend;
/* The jar should have been created by now. */
assert (wget_cookie_jar != NULL);
for (scpos = 0;
(scpos = resp_header_locate (resp, "Set-Cookie", scpos,
&scbeg, &scend)) != -1;
++scpos)
{
char *set_cookie; BOUNDED_TO_ALLOCA (scbeg, scend, set_cookie);
if (pth == NULL)
{
/* u->path doesn't begin with /, which cookies.c expects. */
pth = (char *) alloca (1 + strlen (u->path) + 1);
pth[0] = '/';
strcpy (pth + 1, u->path);
}
cookie_handle_set_cookie (wget_cookie_jar, u->host, u->port, pth,
set_cookie);
}
}
if (resp_header_copy (resp, "Content-Range", hdrval, sizeof (hdrval)))
{