Просмотр исходного кода

Applied patches from OpenBSD to fix addrinfo and HTTP.

Applied OpenBSD patches from Nicholas Marriott.
Closes GH-12
master
Marq Schneider 14 лет назад
Родитель
Сommit
1b22c92d46
2 измененных файлов: 8 добавлений и 3 удалений
  1. +1
    -1
      btpd/addrinfo.c
  2. +7
    -2
      misc/http_client.c

+ 1
- 1
btpd/addrinfo.c Просмотреть файл

@@ -52,7 +52,7 @@ addrinfo_td_cb(void *arg)
struct ai_ctx *ctx = arg;
if (!ctx->cancel)
ctx->cb(ctx->arg, ctx->error, ctx->res);
else if (ctx->error != 0)
else if (ctx->res != NULL)
freeaddrinfo(ctx->res);
free(ctx);
}


+ 7
- 2
misc/http_client.c Просмотреть файл

@@ -213,7 +213,7 @@ static int
http_parse(struct http_req *req, int len)
{
char *end, *numend;
size_t dlen;
size_t dlen, consumed;
struct http_response res;
again:
switch (req->pstate) {
@@ -230,6 +230,11 @@ again:
else
goto error;
}

/* req->rbuf.buf may be reallocated inside iobuf_write()
* so calculate the offset before that is called */
consumed = end - (char *)req->rbuf.buf + dlen;

if (!iobuf_write(&req->rbuf, "", 1))
goto error;
req->rbuf.off--;
@@ -237,7 +242,7 @@ again:
goto error;
if (req->cancel)
goto cancel;
iobuf_consumed(&req->rbuf, end - (char *)req->rbuf.buf + dlen);
iobuf_consumed(&req->rbuf, consumed);
goto again;
case PS_CHUNK_SIZE:
assert(req->chunked);


Загрузка…
Отмена
Сохранить