Registry keys get truncated and trigger -Wformat-truncation. Ignore such truncated keys as they are invalid.
Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> --- net/tap-win32.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/net/tap-win32.c b/net/tap-win32.c index 7edbd7163370..4081ba87991f 100644 --- a/net/tap-win32.c +++ b/net/tap-win32.c @@ -239,8 +239,12 @@ static int is_tap_win32_dev(const char *guid) return FALSE; } - snprintf (unit_string, sizeof(unit_string), "%s\\%s", - ADAPTER_KEY, enum_name); + len = snprintf(unit_string, sizeof(unit_string), "%s\\%s", + ADAPTER_KEY, enum_name); + if (len >= sizeof(unit_string)) { + ++i; + continue; + } status = RegOpenKeyEx( HKEY_LOCAL_MACHINE, @@ -338,10 +342,13 @@ static int get_device_guid( return -1; } - snprintf(connection_string, - sizeof(connection_string), - "%s\\%s\\Connection", - NETWORK_CONNECTIONS_KEY, enum_name); + len = snprintf(connection_string, sizeof(connection_string), + "%s\\%s\\Connection", + NETWORK_CONNECTIONS_KEY, enum_name); + if (len >= sizeof(connection_string)) { + ++i; + continue; + } status = RegOpenKeyEx( HKEY_LOCAL_MACHINE, @@ -617,10 +624,11 @@ static int tap_win32_open(tap_win32_overlapped_t **phandle, if (rc) return -1; - snprintf (device_path, sizeof(device_path), "%s%s%s", - USERMODEDEVICEDIR, - device_guid, - TAPSUFFIX); + rc = snprintf(device_path, sizeof(device_path), "%s%s%s", + USERMODEDEVICEDIR, device_guid, TAPSUFFIX); + if (rc >= sizeof(device_path)) { + return -1; + } handle = CreateFile ( device_path, --- base-commit: 7e3b6d8063f245d27eecce5aabe624b5785f2a77 change-id: 20241107-win32-b8f0d15c9122 Best regards, -- Akihiko Odaki <akihiko.od...@daynix.com>