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>


Reply via email to