summaryrefslogtreecommitdiff
path: root/http_headers.h
diff options
context:
space:
mode:
Diffstat (limited to 'http_headers.h')
-rw-r--r--http_headers.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/http_headers.h b/http_headers.h
index f3aa397..d8171e8 100644
--- a/http_headers.h
+++ b/http_headers.h
@@ -12,7 +12,7 @@ int get_request_data( http_request_data_t *hdt, char *req_contents ){
if ( (size_t)strlen(hdt->request_copy) != hdt->request_size )
return REQ_READ_ERROR;
hdt->tok_current = strtok_r( hdt->request_copy, "\r\n", &hdt->tok_prev );
- if ( hdt->tok_current == NULL )
+ if ( hdt->tok_current == NULL || (uint64_t)strlen(hdt->tok_current) >= MAX_HEADER_LENGTH )
return REQ_READ_ERROR;
if ( strstr(hdt->tok_current, "GET /") == NULL && strstr(hdt->tok_current, "POST /") == NULL )
return REQ_READ_ERROR;
@@ -39,12 +39,12 @@ int get_request_data( http_request_data_t *hdt, char *req_contents ){
if ( (size_t)strlen(hdt->request_copy) != hdt->request_size )
return REQ_READ_ERROR;
char *request_body_begin = strstr( hdt->request_copy, "\r\n\r\n" );
- if ( request_body_begin == NULL ){
+ if ( request_body_begin == NULL || (uint64_t)strlen(request_body_begin) >= MAX_CONTENT_LENGTH ){
hdt->request_body = NULL;
return REQ_READ_SUCCESS;
}
hdt->tok_current = strtok_r( request_body_begin, "\r\n\r\n", &hdt->tok_prev );
- if ( hdt->tok_current == NULL ){
+ if ( hdt->tok_current == NULL || (uint64_t)strlen(hdt->tok_current) >= MAX_CONTENT_LENGTH ){
hdt->request_body = NULL;
return REQ_READ_SUCCESS;
}