Clone identity objects to prevent races. (#15123)

This commit is contained in:
Nick Cabatoff 2022-04-22 13:04:34 -04:00 committed by GitHub
parent 92cd0e8248
commit 7e64e105a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 2 deletions

3
changelog/15123.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:improvement
core: Fix some identity data races found by Go race detector (no known impact yet).
```

View File

@ -786,7 +786,7 @@ func (i *IdentityStore) mergeEntity(ctx context.Context, txn *memdb.Txn, toEntit
return errors.New("to_entity_id should not be present in from_entity_ids"), nil return errors.New("to_entity_id should not be present in from_entity_ids"), nil
} }
fromEntity, err := i.MemDBEntityByID(fromEntityID, false) fromEntity, err := i.MemDBEntityByID(fromEntityID, true)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -667,7 +667,7 @@ func (i *IdentityStore) processLocalAlias(ctx context.Context, lAlias *logical.A
return nil, fmt.Errorf("mount accessor %q is not local", lAlias.MountAccessor) return nil, fmt.Errorf("mount accessor %q is not local", lAlias.MountAccessor)
} }
alias, err := i.MemDBAliasByFactors(lAlias.MountAccessor, lAlias.Name, false, false) alias, err := i.MemDBAliasByFactors(lAlias.MountAccessor, lAlias.Name, true, false)
if err != nil { if err != nil {
return nil, err return nil, err
} }