Rémi Bernon (@rbernon) commented about dlls/cfgmgr32/main.c:
- {
if ((iface_entry = calloc( 1, sizeof( *iface_entry ) )))
{
if (!(iface_entry->path = wcsdup( obj.pszObjectId )))
{
free( iface_entry );
hr = E_OUTOFMEMORY;
}
else if (rb_put( &ctx->known_ifaces, iface_entry->path, &iface_entry->entry ))
{
free( (void *)obj.pszObjectId );
free( iface_entry );
}
}
else
hr = E_OUTOFMEMORY;
Freeing `obj.pszObjectId` looks wrong? I think this could be made simpler:
```suggestion:-14+0 if (!(iface_entry = calloc( 1, sizeof( *iface_entry ) )) || !(iface_entry->path = wcsdup( obj.pszObjectId )) || rb_put( &ctx->known_ifaces, iface_entry->path, &iface_entry->entry )) { if (iface_entry) free( iface_entry->path ); free( iface_entry ); hr = E_OUTOFMEMORY; } ```