sehang / dokan

Automatically exported from code.google.com/p/dokan
0 stars 0 forks source link

GetVolumeInformation called with incorrect buffer sizes #201

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Implement a GetVolumeInformation callback.
2. Use wcsncpy on either VolumeNameBuffer or FileSystemNameBuffer.

What is the expected output? What do you see instead?
The program abends.

What version of the product are you using? On what operating system?
V0.6.0 on Windows 7 x64.

Please provide any additional information below.
The bad call is in DokanFsAttributeInformation in volume.c. It passes the 
number of bytes to GetVolumeInformation instead of the number of chars. It 
should divide the lengths by sizeof(WCHAR). Using wcsncpy with the lengths in 
the callback causes stack corruption.

Original issue reported on code.google.com by samuel.s...@gmail.com on 20 Jan 2011 at 10:46