From: Andrew Baumann Date: Wed, 18 Nov 2015 19:45:08 +0000 (-0800) Subject: tap-win32: skip unexpected nodes during registry enumeration X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~40^2~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6577736ebab500a938bc14cb6f56c092318d53bf;p=sdk%2Femulator%2Fqemu.git tap-win32: skip unexpected nodes during registry enumeration 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. Change-Id: Ia8c77511da99abaf43e6f6ac079facf8110bce2e Signed-off-by: Andrew Baumann Reviewed-by: Stefan Weil Signed-off-by: Jason Wang (cherry picked from commit 3d4dc08a64939e60be5cb72dc5e35c2790975167) --- diff --git a/net/tap-win32.c b/net/tap-win32.c index 5dc76008c7..68200f8f2a 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)) {