post processing: fix problem where hex cant straddle block correctly
This commit is contained in:
parent
109d66c365
commit
a238984d1b
1 changed files with 5 additions and 3 deletions
|
@ -2157,6 +2157,7 @@ struct lws_urldecode_stateful {
|
|||
int pos;
|
||||
int hdr_idx;
|
||||
int mp;
|
||||
int sum;
|
||||
|
||||
unsigned int multipart_form_data:1;
|
||||
unsigned int inside_quote:1;
|
||||
|
@ -2183,6 +2184,7 @@ lws_urldecode_s_create(struct lws *wsi, char *out, int out_len, void *data,
|
|||
s->out_len = out_len;
|
||||
s->output = output;
|
||||
s->pos = 0;
|
||||
s->sum = 0;
|
||||
s->mp = 0;
|
||||
s->state = US_NAME;
|
||||
s->name[0] = '\0';
|
||||
|
@ -2220,7 +2222,7 @@ static int
|
|||
lws_urldecode_s_process(struct lws_urldecode_stateful *s, const char *in, int len)
|
||||
{
|
||||
int n, m, hit = 0;
|
||||
char sum = 0, c, was_end = 0;
|
||||
char c, was_end = 0;
|
||||
|
||||
while (len--) {
|
||||
if (s->pos == s->out_len - s->mp - 1) {
|
||||
|
@ -2286,7 +2288,7 @@ lws_urldecode_s_process(struct lws_urldecode_stateful *s, const char *in, int le
|
|||
return -1;
|
||||
|
||||
in++;
|
||||
sum = n << 4;
|
||||
s->sum = n << 4;
|
||||
s->state++;
|
||||
break;
|
||||
|
||||
|
@ -2296,7 +2298,7 @@ lws_urldecode_s_process(struct lws_urldecode_stateful *s, const char *in, int le
|
|||
return -1;
|
||||
|
||||
in++;
|
||||
s->out[s->pos++] = sum | n;
|
||||
s->out[s->pos++] = s->sum | n;
|
||||
s->state = US_IDLE;
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue