Changeset 60156 in vbox for trunk/src/VBox/HostDrivers
- Timestamp:
- Mar 23, 2016 11:44:24 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 106175
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp
r59127 r60156 314 314 for (; pDrList; pDrList = pDrList->pNext) 315 315 { 316 char ** lppszString = NULL; 317 if (pConInfo->DeviceDescriptor.iManufacturer && pDrList->iDr == pConInfo->DeviceDescriptor.iManufacturer) 318 { 319 lppszString = (char**)&pDev->pszManufacturer; 320 } 321 else if (pConInfo->DeviceDescriptor.iProduct && pDrList->iDr == pConInfo->DeviceDescriptor.iProduct) 322 { 323 lppszString = (char**)&pDev->pszProduct; 324 } 325 else if (pConInfo->DeviceDescriptor.iSerialNumber && pDrList->iDr == pConInfo->DeviceDescriptor.iSerialNumber) 326 { 327 lppszString = (char**)&pDev->pszSerialNumber; 328 } 329 330 if (lppszString) 331 { 332 /** @todo r=bird: This code is making bad asumptions that strings are sane and 333 * that stuff succeeds: 334 * http://vbox.innotek.de/pipermail/vbox-dev/2011-August/004516.html 335 * 336 * */ 337 rc = RTUtf16ToUtf8((PCRTUTF16)pDrList->StrDr.bString, lppszString); 338 if (RT_FAILURE(rc)) 316 char **ppszString = NULL; 317 if ( pConInfo->DeviceDescriptor.iManufacturer 318 && pDrList->iDr == pConInfo->DeviceDescriptor.iManufacturer) 319 ppszString = (char **)&pDev->pszManufacturer; 320 else if ( pConInfo->DeviceDescriptor.iProduct 321 && pDrList->iDr == pConInfo->DeviceDescriptor.iProduct) 322 ppszString = (char **)&pDev->pszProduct; 323 else if ( pConInfo->DeviceDescriptor.iSerialNumber 324 && pDrList->iDr == pConInfo->DeviceDescriptor.iSerialNumber) 325 ppszString = (char **)&pDev->pszSerialNumber; 326 if (ppszString) 327 { 328 rc = RTUtf16ToUtf8((PCRTUTF16)pDrList->StrDr.bString, ppszString); 329 if (RT_SUCCESS(rc)) 330 { 331 Assert(*ppszString); 332 USBLibPurgeEncoding(ppszString); 333 334 if (pDrList->iDr == pConInfo->DeviceDescriptor.iSerialNumber) 335 pDev->u64SerialHash = USBLibHashSerial(pDev->pszSerialNumber); 336 } 337 else 339 338 { 340 339 AssertMsgFailed(("RTUtf16ToUtf8 failed, rc (%d), resuming\n", rc)); 341 continue; 342 } 343 344 Assert(lppszString); 345 if (pDrList->iDr == pConInfo->DeviceDescriptor.iSerialNumber) 346 { 347 pDev->u64SerialHash = USBLibHashSerial(pDev->pszSerialNumber); 340 *ppszString = NULL; 348 341 } 349 342 }
Note:
See TracChangeset
for help on using the changeset viewer.