)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"0e306d7c2801fc808e5442d26a9a3cafe5901e6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"479d9768_d4af8fb4","updated":"2026-11-05 19:53:33.000000000","message":"I think we should just get rid of the `gc_arena()` here.  It\u0027s just more expensive for a single string to be malloc() per function.","commit_id":"8eb4af5adaff4a6f1f9a8801a45c00eac2a2df24"},{"author":{"_account_id":1000007,"name":"Antonio Quartulli","display_name":"Antonio Quartulli","email":"antonio@mandelbit.com","username":"ordex"},"change_message_id":"cf2dddb11b9d17a9323e87f66a04127dc5586dad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bf39925b_2e911fb5","updated":"2026-11-03 13:35:29.000000000","message":"I wonder if we ever need this gc complexity at all...but here we are","commit_id":"8eb4af5adaff4a6f1f9a8801a45c00eac2a2df24"}],"src/openvpn/networking_iproute2.c":[{"author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"0e306d7c2801fc808e5442d26a9a3cafe5901e6a","unresolved":true,"context_lines":[{"line_number":364,"context_line":"                 const struct in6_addr *gw, const char *iface, uint32_t table, int metric)"},{"line_number":365,"context_line":"{"},{"line_number":366,"context_line":"    struct argv argv \u003d argv_new();"},{"line_number":367,"context_line":"    struct gc_arena gc \u003d gc_new();"},{"line_number":368,"context_line":"    char *dst_str \u003d (char *)print_in6_addr(*dst, 0, \u0026gc);"},{"line_number":369,"context_line":"    int ret \u003d 0;"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"6b3e6e3f_06be757e","line":367,"updated":"2026-11-05 19:53:33.000000000","message":"technically we can just go without a `gc_arena()` in all these places - `print_in6_addr()` uses `gc_malloc()` which will fall back to regular `malloc()` if fed `NULL`.  So we just need to add a `free(dst_str)` at the end...","commit_id":"8eb4af5adaff4a6f1f9a8801a45c00eac2a2df24"},{"author":{"_account_id":1000002,"name":"Gert Doering","display_name":"Gert Doering","email":"gert@greenie.muc.de","username":"cron2"},"change_message_id":"9eee67567c82644795d3a20b0bedc9fe6dc38857","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                 const struct in6_addr *gw, const char *iface, uint32_t table, int metric)"},{"line_number":365,"context_line":"{"},{"line_number":366,"context_line":"    struct argv argv \u003d argv_new();"},{"line_number":367,"context_line":"    struct gc_arena gc \u003d gc_new();"},{"line_number":368,"context_line":"    char *dst_str \u003d (char *)print_in6_addr(*dst, 0, \u0026gc);"},{"line_number":369,"context_line":"    int ret \u003d 0;"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"41f9cc47_872727b3","line":367,"in_reply_to":"3c838f4f_9008f0c9","updated":"2026-11-06 13:00:55.000000000","message":"Acknowledged","commit_id":"8eb4af5adaff4a6f1f9a8801a45c00eac2a2df24"},{"author":{"_account_id":1000003,"name":"Arne Schwabe","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"a1c61febbba01b38006bf0fb0609a4791523ce50","unresolved":true,"context_lines":[{"line_number":364,"context_line":"                 const struct in6_addr *gw, const char *iface, uint32_t table, int metric)"},{"line_number":365,"context_line":"{"},{"line_number":366,"context_line":"    struct argv argv \u003d argv_new();"},{"line_number":367,"context_line":"    struct gc_arena gc \u003d gc_new();"},{"line_number":368,"context_line":"    char *dst_str \u003d (char *)print_in6_addr(*dst, 0, \u0026gc);"},{"line_number":369,"context_line":"    int ret \u003d 0;"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"3c838f4f_9008f0c9","line":367,"in_reply_to":"6b3e6e3f_06be757e","updated":"2026-11-06 12:22:51.000000000","message":"djpig basically broke calling print_in_addr_t and                       print_in6_addr with a NULL gc as they now return const \nchar and you cannot free const char strings\n\nSo in order to get rid of the gc_arena I would need to revert that print_in6_addr and print_in_addr_t return const strings\n\nI instead about to reuse the gc inside argv instead adding an extra gc in these function for the new version.","commit_id":"8eb4af5adaff4a6f1f9a8801a45c00eac2a2df24"}]}
