Am 17.11.2015 um 20:09 schrieb Andrew Baumann: > In order to find a named tap device, get_device_guid() enumerates children of > HKLM\SYSTEM\CCS\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318} > (aka NETWORK_CONNECTIONS_KEY). For each child, it then looks for a > "Connection" subkey, but if this key doesn't exist, it aborts the > entire search. This was observed to fail on at least one Windows 10 > machine, where there is an additional child of NETWORK_CONNECTIONS_KEY > (named "Descriptions"). Since registry enumeration doesn't guarantee > any particular sort order, we should continue to search for matching > children rather than aborting the search. > > Signed-off-by: Andrew Baumann <andrew.baum...@microsoft.com> > --- > net/tap-win32.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/tap-win32.c b/net/tap-win32.c > index 4e2fa55..5e5d6db 100644 > --- a/net/tap-win32.c > +++ b/net/tap-win32.c > @@ -356,7 +356,8 @@ static int get_device_guid( > &len); > > if (status != ERROR_SUCCESS || name_type != REG_SZ) { > - return -1; > + ++i; > + continue; > } > else { > if (is_tap_win32_dev(enum_name)) {
Good catch! Reviewed-by: Stefan Weil <s...@weilnetz.de>