[PATCH 2/2] bcrypt: Return STATUS_INVALID_PARAMETER when invalid flag passed to BCryptCreateHash.

Hans Leidekker hans at codeweavers.com
Tue Mar 5 04:42:31 CST 2019


On Tue, 2019-03-05 at 21:23 +1100, Brendan McGrath wrote:
> I just sent a patch to testbot - the patch tests using the 
> BCRYPT_HASH_REUSABLE_FLAG and expects a return code of 
> STATUS_INVALID_PARAMETER:
> https://testbot.winehq.org/JobDetails.pl?Key=48735
> 
> This passes on everything but Windows 8 and 10. On Win8 and 10, 
> BCRYPT_HASH_REUSABLE_FLAG is implemented - so the return code is 
> STATUS_SUCCESS.
> 
> My patch to the mailing list is based on a change I made to my local 
> build to fix an issue while running .NET Core. I can see in the .NET 
> Core code, that it passes BCRYPT_HASH_REUSABLE_FLAG to BCryptCreateHash 
> and expects STATUS_INVALID_PARAMETER if the OS is pre-Win8 (I'm using 
> Win7). That code can be seen here (it's under the MIT licence):
> https://github.com/dotnet/corefx/blob/master/src/Common/src/Internal/Cryptography/HashProviderCng.cs#L40
> 
> So until BCRYPT_HASH_REUSABLE_FLAG is implemented - maybe it is better 
> to return STATUS_INVALID_PARAMETER?

Sure, if you restrict it to BCRYPT_HASH_REUSABLE_FLAG. But implementing
the flag would be even better, and doesn't look too hard.




More information about the wine-devel mailing list