4 Oct
2018
4 Oct
'18
12:07 p.m.
Aric Stewart <aric(a)codeweavers.com> wrote:
+ do + { + rc = SetupDiEnumDeviceInfo( infoset, index, &devInfo ); + if (IsEqualGUID( &devInfo.ClassGuid, class_guid ))
Without an rc check IsEqualGUID() will use bogus data.
+ { + BOOL check; + check = SetupDiGetDeviceInstanceIdW( infoset, &devInfo, id, size, &required ); + if (check && strcmpW( id, instance_id ) == 0) + break; + } + index++; + } while (rc);
There are other places in the patch that don't check the API result before using bogus data in case of an error. -- Dmitry.