From: Aurelien Jacobs Date: Thu, 27 Nov 2014 16:41:23 +0000 (+0100) Subject: windows: Properly handle return value of SetupDiOpenDevRegKey(). X-Git-Tag: libserialport-0.1.1~89 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=b328a48b0fd8ce51f400b5e06bc1e2ab52e3c9ae;p=libserialport.git windows: Properly handle return value of SetupDiOpenDevRegKey(). This fixes bug #499. --- diff --git a/windows.c b/windows.c index 523b8d0..bad62bf 100644 --- a/windows.c +++ b/windows.c @@ -353,9 +353,10 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port) CONFIGRET cr; /* check if this is the device we are looking for */ - if (!(device_key = SetupDiOpenDevRegKey(device_info, &device_info_data, - DICS_FLAG_GLOBAL, 0, - DIREG_DEV, KEY_QUERY_VALUE))) + device_key = SetupDiOpenDevRegKey(device_info, &device_info_data, + DICS_FLAG_GLOBAL, 0, + DIREG_DEV, KEY_QUERY_VALUE); + if (device_key == INVALID_HANDLE_VALUE) continue; size = sizeof(value); if (RegQueryValueExA(device_key, "PortName", NULL, &type, (LPBYTE)value,