← Commit list

8c68887d2d

Stefan Eissing
Stefan Eissing
2025-11-28
SUCCESS Duration: 257s

Subject

http1: parse header from uint8_t buffer

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/http1.c+5 -5
@@ -77,7 +77,7 @@ static CURLcode trim_line(struct h1_req_parser *parser, int options)
}
static CURLcode detect_line(struct h1_req_parser *parser,
- const char *buf, const size_t buflen,
+ const uint8_t *buf, const size_t buflen,
size_t *pnread)
{
const char *line_end;
@@ -87,14 +87,14 @@ static CURLcode detect_line(struct h1_req_parser *parser,
line_end = memchr(buf, '\n', buflen);
if(!line_end)
return CURLE_AGAIN;
- parser->line = buf;
- parser->line_len = line_end - buf + 1;
+ parser->line = (const char *)buf;
+ parser->line_len = line_end - parser->line + 1;
*pnread = parser->line_len;
return CURLE_OK;
}
static CURLcode next_line(struct h1_req_parser *parser,
- const char *buf, const size_t buflen, int options,
+ const uint8_t *buf, const size_t buflen, int options,
size_t *pnread)
{
CURLcode result;
@@ -262,7 +262,7 @@ out:
}
CURLcode Curl_h1_req_parse_read(struct h1_req_parser *parser,
- const char *buf, size_t buflen,
+ const uint8_t *buf, size_t buflen,
const char *scheme_default,
const char *custom_method,
int options, size_t *pnread)
lib/http1.h+1 -1
@@ -49,7 +49,7 @@ void Curl_h1_req_parse_init(struct h1_req_parser *parser, size_t max_line_len);
void Curl_h1_req_parse_free(struct h1_req_parser *parser);
CURLcode Curl_h1_req_parse_read(struct h1_req_parser *parser,
- const char *buf, size_t buflen,
+ const uint8_t *buf, size_t buflen,
const char *scheme_default,
const char *custom_method,
int options, size_t *pnread);
lib/http2.c+1 -1
@@ -2277,7 +2277,7 @@ static CURLcode h2_submit(struct h2_stream_ctx **pstream,
if(result)
goto out;
- result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, len, NULL,
+ result = Curl_h1_req_parse_read(&stream->h1, buf, len, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, &nwritten);
lib/vquic/curl_ngtcp2.c+1 -1
@@ -1548,7 +1548,7 @@ static CURLcode h3_stream_open(struct Curl_cfilter *cf,
goto out;
}
- result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, len, NULL,
+ result = Curl_h1_req_parse_read(&stream->h1, buf, len, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, pnwritten);
lib/vquic/curl_osslq.c+1 -1
@@ -1900,7 +1900,7 @@ static CURLcode h3_stream_open(struct Curl_cfilter *cf,
goto out;
}
- result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, len, NULL,
+ result = Curl_h1_req_parse_read(&stream->h1, buf, len, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, pnwritten);
lib/vquic/curl_quiche.c+1 -1
@@ -976,7 +976,7 @@ static CURLcode h3_open_stream(struct Curl_cfilter *cf,
DEBUGASSERT(stream);
- result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, blen, NULL,
+ result = Curl_h1_req_parse_read(&stream->h1, buf, blen, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, pnwritten);
tests/unit/unit2603.c+3 -3
@@ -63,7 +63,7 @@ struct tcase {
static void parse_success(const struct tcase *t)
{
struct h1_req_parser p;
- const char *buf;
+ const uint8_t *buf;
size_t buflen, i, in_len, in_consumed;
CURLcode err;
size_t nread;
@@ -71,8 +71,8 @@ static void parse_success(const struct tcase *t)
Curl_h1_req_parse_init(&p, 1024);
in_len = in_consumed = 0;
for(i = 0; t->input[i]; ++i) {
- buf = t->input[i];
- buflen = strlen(buf);
+ buf = (const uint8_t *)t->input[i];
+ buflen = strlen(t->input[i]);
in_len += buflen;
err = Curl_h1_req_parse_read(&p, buf, buflen, t->default_scheme,
t->custom_method, 0, &nread);