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 );}}elsehr = 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; } ```