)]}'
{"src/openvpn/ssl.c":[{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"d3bc719e3c37f7eb12fdeac066773f0f53786b08","unresolved":true,"context_lines":[{"line_number":1785,"context_line":"{"},{"line_number":1786,"context_line":"    const size_t len \u003d strlen(str) + 1;"},{"line_number":1787,"context_line":"    const size_t real_maxlen \u003d (maxlen \u003e\u003d 0 \u0026\u0026 maxlen \u003c\u003d UINT16_MAX) ? (size_t)maxlen : UINT16_MAX;"},{"line_number":1788,"context_line":"    if (len \u003c 2 || len \u003e real_maxlen)"},{"line_number":1789,"context_line":"    {"},{"line_number":1790,"context_line":"        return false;"},{"line_number":1791,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"605092ec_e5cac272","line":1788,"updated":"2025-10-30 19:27:52.000000000","message":"changing this from \"\u003c 1\" to \"\u003c 2\" is surprising, and I think, not correct - we can and do write empty strings (`len\u003d1`)...?","commit_id":"9a65bcb6009b771b1616e4ff61f6b2938d13b8e3"},{"author":{"_account_id":1000002,"name":"cron2","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"f1e67d89538ded929fc57c408221ca49ce524580","unresolved":false,"context_lines":[{"line_number":1785,"context_line":"{"},{"line_number":1786,"context_line":"    const size_t len \u003d strlen(str) + 1;"},{"line_number":1787,"context_line":"    const size_t real_maxlen \u003d (maxlen \u003e\u003d 0 \u0026\u0026 maxlen \u003c\u003d UINT16_MAX) ? (size_t)maxlen : UINT16_MAX;"},{"line_number":1788,"context_line":"    if (len \u003c 2 || len \u003e real_maxlen)"},{"line_number":1789,"context_line":"    {"},{"line_number":1790,"context_line":"        return false;"},{"line_number":1791,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"00f9633e_e49112f5","line":1788,"in_reply_to":"24c81aca_9a5c48f2","updated":"2025-11-04 09:19:24.000000000","message":"Indeed.  If `strlen(str)` is 0, `len \u003d\u003d 1`, so `len \u003c 1` can just not happen anymore.","commit_id":"9a65bcb6009b771b1616e4ff61f6b2938d13b8e3"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"0802d299799d34b9efee9d181e4030274e4b34da","unresolved":true,"context_lines":[{"line_number":1785,"context_line":"{"},{"line_number":1786,"context_line":"    const size_t len \u003d strlen(str) + 1;"},{"line_number":1787,"context_line":"    const size_t real_maxlen \u003d (maxlen \u003e\u003d 0 \u0026\u0026 maxlen \u003c\u003d UINT16_MAX) ? (size_t)maxlen : UINT16_MAX;"},{"line_number":1788,"context_line":"    if (len \u003c 2 || len \u003e real_maxlen)"},{"line_number":1789,"context_line":"    {"},{"line_number":1790,"context_line":"        return false;"},{"line_number":1791,"context_line":"    }"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"24c81aca_9a5c48f2","line":1788,"in_reply_to":"605092ec_e5cac272","updated":"2025-11-03 12:04:13.000000000","message":"Right, removed the check completely.","commit_id":"9a65bcb6009b771b1616e4ff61f6b2938d13b8e3"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"a7d54ea41d2872ce1ade6e44dcf05feaa52f8b4a","unresolved":false,"context_lines":[{"line_number":1784,"context_line":"write_string(struct buffer *buf, const char *str, const int maxlen)"},{"line_number":1785,"context_line":"{"},{"line_number":1786,"context_line":"    const size_t len \u003d strlen(str) + 1;"},{"line_number":1787,"context_line":"    const size_t real_maxlen \u003d (maxlen \u003e\u003d 0 \u0026\u0026 maxlen \u003c\u003d UINT16_MAX) ? (size_t)maxlen : UINT16_MAX;"},{"line_number":1788,"context_line":"    if (len \u003e real_maxlen)"},{"line_number":1789,"context_line":"    {"},{"line_number":1790,"context_line":"        return false;"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"316cab45_6e3be2a4","line":1787,"updated":"2025-11-11 11:03:59.000000000","message":"Comment removed by: flichtenheld; Reason: created by mistake","commit_id":"bb3001bee481a44b2c77866a22f6b8b63490e1a4"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"d3aa81c16330e419fe5c1202680ad727209c9175","unresolved":false,"context_lines":[{"line_number":1784,"context_line":"write_string(struct buffer *buf, const char *str, const int maxlen)"},{"line_number":1785,"context_line":"{"},{"line_number":1786,"context_line":"    const size_t len \u003d strlen(str) + 1;"},{"line_number":1787,"context_line":"    const size_t real_maxlen \u003d (maxlen \u003e\u003d 0 \u0026\u0026 maxlen \u003c\u003d UINT16_MAX) ? (size_t)maxlen : UINT16_MAX;"},{"line_number":1788,"context_line":"    if (len \u003e real_maxlen)"},{"line_number":1789,"context_line":"    {"},{"line_number":1790,"context_line":"        return false;"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"37ea3b83_e5eb84eb","line":1787,"in_reply_to":"316cab45_6e3be2a4","updated":"2025-11-11 11:49:11.000000000","message":"Done","commit_id":"bb3001bee481a44b2c77866a22f6b8b63490e1a4"}]}
