Message ID | 20241107-win32-v1-1-952d508e2546@daynix.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | tap-win32: Ignore keys too long | expand |
On Thu, Nov 07, 2024 at 06:48:44PM +0900, Akihiko Odaki wrote: > Registry keys get truncated and trigger -Wformat-truncation. Ignore > such truncated keys as they are invalid. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > --- > net/tap-win32.c | 28 ++++++++++++++++++---------- > 1 file changed, 18 insertions(+), 10 deletions(-) These problems were already fixed by changing to g_strdup_printf commit 75fe36b4e8a994cdf9fd6eb601f49e96b1bc791d Author: Bernhard Beschow <shentey@gmail.com> Date: Tue Oct 8 22:28:42 2024 +0200 net/tap-win32: Fix gcc 14 format truncation errors > > 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.odaki@daynix.com> > > With regards, Daniel
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,
Registry keys get truncated and trigger -Wformat-truncation. Ignore such truncated keys as they are invalid. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- net/tap-win32.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) --- base-commit: 7e3b6d8063f245d27eecce5aabe624b5785f2a77 change-id: 20241107-win32-b8f0d15c9122 Best regards,