Skip to content

Commit

Permalink
Fix indentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
vojta7 committed Jul 23, 2021
1 parent eb03533 commit 4867f1d
Showing 1 changed file with 52 additions and 52 deletions.
104 changes: 52 additions & 52 deletions src/libhttpd.c
Expand Up @@ -4014,72 +4014,72 @@ static void post_post_garbage_hack(struct http_conn *hc)

/* Prepend all '\n' without preceding '\r' with '\r'. */
static void cgi_normalize_line_ends(char **headers, size_t *buffer_len, size_t *buffer_size, size_t headers_len) {
int lf_count;
int was_cr;
size_t i;
size_t j;
char *processed_headers;
size_t processed_buffer_size;
int lf_count;
int was_cr;
size_t i;
size_t j;
char *processed_headers;
size_t processed_buffer_size;

/* If newline separating headers and body is "\n\n" correct it to. */
if (strncmp(&((*headers)[headers_len]), "\n\n", 2) == 0)
headers_len += 2;
if (strncmp(&((*headers)[headers_len]), "\n\n", 2) == 0)
headers_len += 2;

/* Count \n without preceding \r in headers section */
was_cr = 0;
lf_count = 0;
was_cr = 0;
lf_count = 0;
for (i = 0; i < headers_len; i++) {
switch ((*headers)[i]) {
case '\r':
was_cr = 1;
break;
case '\n':
if (!was_cr) {
lf_count ++;
}
// fallthrough
default:
was_cr = 0;
break;
}
}

if (lf_count == 0)
return;
switch ((*headers)[i]) {
case '\r':
was_cr = 1;
break;
case '\n':
if (!was_cr) {
lf_count ++;
}
// fallthrough
default:
was_cr = 0;
break;
}
}

if (lf_count == 0)
return;

/* Allocate memory accounting for newly inserted '\r'. */
processed_buffer_size = 0;
processed_buffer_size = 0;
httpd_realloc_str(&processed_headers, &processed_buffer_size, *buffer_len + lf_count);

/* Copy headers and normalize all line endings as \r\n */
was_cr = 0;
was_cr = 0;
for (i = 0, j = 0; i < headers_len; i++, j++) {
switch ((*headers)[i]) {
case '\r':
processed_headers[j] = (*headers)[i];
was_cr = 1;
break;
case '\n':
if (!was_cr) {
processed_headers[j] = '\r';
j++;
}
// fallthrough
default:
processed_headers[j] = (*headers)[i];
was_cr = 0;
break;
}
}
switch ((*headers)[i]) {
case '\r':
processed_headers[j] = (*headers)[i];
was_cr = 1;
break;
case '\n':
if (!was_cr) {
processed_headers[j] = '\r';
j++;
}
// fallthrough
default:
processed_headers[j] = (*headers)[i];
was_cr = 0;
break;
}
}

/* Copy rest of buffer after http headers. */
memcpy(&(processed_headers[j]), &((*headers)[i]), *buffer_len - headers_len);
memcpy(&(processed_headers[j]), &((*headers)[i]), *buffer_len - headers_len);

/* Replace old buffer with processed one and update sizes. */
free(*headers);
*buffer_len += lf_count;
*buffer_size = processed_buffer_size;
*headers = processed_headers;
free(*headers);
*buffer_len += lf_count;
*buffer_size = processed_buffer_size;
*headers = processed_headers;
}

/* This routine is used for parsed-header CGIs. The idea here is that the
Expand Down Expand Up @@ -4148,7 +4148,7 @@ static void cgi_interpose_output(struct http_conn *hc, int rfd)
status = 302;
}

cgi_normalize_line_ends(&headers, &headers_len, &headers_size, br - headers);
cgi_normalize_line_ends(&headers, &headers_len, &headers_size, br - headers);

/* Write the status line. */
switch (status) {
Expand Down

0 comments on commit 4867f1d

Please sign in to comment.