]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nsresource: fix buffer overrun reported by ASAN
authorKai Lüke <kai@amutable.com>
Fri, 24 Apr 2026 16:42:36 +0000 (01:42 +0900)
committerKai Lüke <kai@amutable.com>
Mon, 27 Apr 2026 13:14:05 +0000 (22:14 +0900)
This came up when running systemd-vmspawn with ASAN to fix another bug
and thus I had to fix this overrun here first: The dispatch tables were
missing the terminator, add it.

src/shared/nsresource.c

index 7a1c33446b8114185fea3d36ff699c58f4432ea2..b783cb80b78aeb6035dc46fb23f31dd11e3d5eb5 100644 (file)
@@ -372,6 +372,7 @@ int nsresource_add_netif_veth(
         static const sd_json_dispatch_field dispatch_table[] = {
                 { "hostInterfaceName",      SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(InterfaceParams, host_interface_name),      SD_JSON_MANDATORY },
                 { "namespaceInterfaceName", SD_JSON_VARIANT_STRING, sd_json_dispatch_string, offsetof(InterfaceParams, namespace_interface_name), SD_JSON_MANDATORY },
+                {}
         };
 
         _cleanup_(interface_params_done) InterfaceParams p = {};
@@ -437,6 +438,7 @@ int nsresource_add_netif_tap(
         static const sd_json_dispatch_field dispatch_table[] = {
                 { "hostInterfaceName",       SD_JSON_VARIANT_STRING,        sd_json_dispatch_string, offsetof(InterfaceParams, host_interface_name), SD_JSON_MANDATORY },
                 { "interfaceFileDescriptor", _SD_JSON_VARIANT_TYPE_INVALID, sd_json_dispatch_uint,   offsetof(InterfaceParams, interface_fd_index),  SD_JSON_MANDATORY },
+                {}
         };
 
         _cleanup_(interface_params_done) InterfaceParams p = {};