forked from xavi/libweb
http: Use null-terminated string for POST data
application/x-www-form-urlencoded-data is (or should be) always text, so it is preferrable to define struct http_post member "data" as a null- terminated string. For applications already making this assumption, this change should now remove the need for string duplication.
This commit is contained in:
parent
1790e70e61
commit
5be3ffdd3b
6
http.c
6
http.c
|
@ -1716,7 +1716,7 @@ static int read_body_to_mem(struct http_ctx *const h, bool *const close)
|
|||
struct ctx *const c = &h->ctx;
|
||||
struct post *const p = &c->post;
|
||||
|
||||
if (p->read >= sizeof h->line)
|
||||
if (p->read >= sizeof h->line - 1)
|
||||
{
|
||||
fprintf(stderr, "%s: exceeded maximum length\n", __func__);
|
||||
return 1;
|
||||
|
@ -1738,11 +1738,11 @@ static int read_body_to_mem(struct http_ctx *const h, bool *const close)
|
|||
.resource = c->resource,
|
||||
.u.post =
|
||||
{
|
||||
.data = h->line,
|
||||
.n = p->len
|
||||
.data = h->line
|
||||
}
|
||||
};
|
||||
|
||||
h->line[p->len] = '\0';
|
||||
return send_payload(h, &pl);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,8 +25,8 @@ struct http_payload
|
|||
struct http_post
|
||||
{
|
||||
bool expect_continue;
|
||||
const void *data;
|
||||
size_t n, nfiles, npairs;
|
||||
const char *data;
|
||||
size_t nfiles, npairs;
|
||||
|
||||
const struct http_post_pair
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue