Fixing libunit 'off by 2' issue in library.
Name and value in each header are 0-terminated, so additional 2 bytes should be allocated for them. There were several attempts to add these 2 bytes to headers in language modules, but some modules weren't updated. Also, adding these 2 bytes is specific to the implementation which may be changed later, so extending this mechanics to modules may cause errors.
This commit is contained in:
@@ -104,10 +104,10 @@ ws_chat_root(nxt_unit_request_info_t *req)
|
||||
|
||||
rc = nxt_unit_response_init(req, 200 /* Status code. */,
|
||||
2 /* Number of response headers. */,
|
||||
nxt_length(CONTENT_TYPE) + 1
|
||||
+ nxt_length(TEXT_HTML) + 1
|
||||
+ nxt_length(CONTENT_LENGTH) + 1
|
||||
+ ws_chat_index_content_length_size + 1
|
||||
nxt_length(CONTENT_TYPE)
|
||||
+ nxt_length(TEXT_HTML)
|
||||
+ nxt_length(CONTENT_LENGTH)
|
||||
+ ws_chat_index_content_length_size
|
||||
+ ws_chat_index_html_size);
|
||||
if (nxt_slow_path(rc != NXT_UNIT_OK)) {
|
||||
return rc;
|
||||
|
||||
Reference in New Issue
Block a user