microsoft / krabsetw

KrabsETW provides a modern C++ wrapper and a .NET wrapper around the low-level ETW trace consumption functions.
Other
605 stars 149 forks source link

Missing break statement in String->GUID lookup when creating user mode providers. #71

Closed zacbrown closed 5 years ago

zacbrown commented 5 years ago

When you create a new provider with code like the following:

krabs::provider<> provider(L"Microsoft-Windows-PowerShell");

This code results in a longer startup code path that looks up the GUID associated with the provided friendly name.

However, once we find the match and copy the GUID required, we don't break out of the loop:

https://github.com/Microsoft/krabsetw/blob/0b42d12c337d2ea954ebc89c1547be48a552cf13/krabs/krabs/provider.hpp#L439

This should just require a break statement.