diff --git a/include/types/proto_http.h b/include/types/proto_http.h index 645306165..50d12d6de 100644 --- a/include/types/proto_http.h +++ b/include/types/proto_http.h @@ -204,12 +204,12 @@ typedef enum { * which marks the end of the line (LF or CRLF). */ struct http_msg { - int msg_state; /* where we are in the current message parsing */ + unsigned int msg_state; /* where we are in the current message parsing */ char *sol; /* start of line, also start of message when fully parsed */ char *eol; /* end of line */ - int som; /* Start Of Message, relative to buffer */ - int col, sov; /* current header: colon, start of value */ - int eoh; /* End Of Headers, relative to buffer */ + unsigned int som; /* Start Of Message, relative to buffer */ + unsigned int col, sov; /* current header: colon, start of value */ + unsigned int eoh; /* End Of Headers, relative to buffer */ char **cap; /* array of captured headers (may be NULL) */ union { /* useful start line pointers, relative to buffer */ struct { diff --git a/src/proto_http.c b/src/proto_http.c index 429f57142..6ee1c587a 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -937,9 +937,9 @@ void capture_headers(char *som, struct hdr_idx *idx, * within its state machine and use the same macros, hence the need for same * labels and variable names. Note that msg->sol is left unchanged. */ -const char *http_parse_stsline(struct http_msg *msg, const char *msg_buf, int state, - const char *ptr, const char *end, - char **ret_ptr, int *ret_state) +const char *http_parse_stsline(struct http_msg *msg, const char *msg_buf, + unsigned int state, const char *ptr, const char *end, + char **ret_ptr, unsigned int *ret_state) { __label__ http_msg_rpver, @@ -1060,9 +1060,9 @@ const char *http_parse_stsline(struct http_msg *msg, const char *msg_buf, int st * within its state machine and use the same macros, hence the need for same * labels and variable names. Note that msg->sol is left unchanged. */ -const char *http_parse_reqline(struct http_msg *msg, const char *msg_buf, int state, - const char *ptr, const char *end, - char **ret_ptr, int *ret_state) +const char *http_parse_reqline(struct http_msg *msg, const char *msg_buf, + unsigned int state, const char *ptr, const char *end, + char **ret_ptr, unsigned int *ret_state) { __label__ http_msg_rqmeth, @@ -1206,7 +1206,7 @@ void http_msg_analyzer(struct buffer *buf, struct http_msg *msg, struct hdr_idx http_msg_ood, /* out of data */ http_msg_invalid; - int state; /* updated only when leaving the FSM */ + unsigned int state; /* updated only when leaving the FSM */ register char *ptr, *end; /* request pointers, to avoid dereferences */ state = msg->msg_state;