Edit

Share via


Warning C28106

Variable already holds resource possibly causing leak

A variable that contains a resource is used in a context in which a new value can be placed in the variable. If such placement occurs, the original resource can be lost and not properly freed, causing a resource leak.

Example

The following code example generates this warning:

ExAcquireResourceLite(resource, true);
//...
ExAcquireResourceLite(resource, true);

The following code example avoids this warning:

ExAcquireResourceLite(resource1, true);
//...
ExAcquireResourceLite(resource2, true);