fix a data race when an existing session's coords are updated in response to a successful search

This commit is contained in:
Arceliar 2019-10-27 19:55:35 -05:00
parent cee28d11f8
commit 6d3aefb825

View File

@ -192,7 +192,7 @@ func (sinfo *searchInfo) checkDHTRes(res *dhtRes) bool {
finishSearch := func(sess *sessionInfo, err error) { finishSearch := func(sess *sessionInfo, err error) {
if sess != nil { if sess != nil {
// FIXME (!) replay attacks could mess with coords? Give it a handle (tstamp)? // FIXME (!) replay attacks could mess with coords? Give it a handle (tstamp)?
sess.coords = res.Coords sess.Act(sinfo.searches.router, func() { sess.coords = res.Coords })
sess.ping(sinfo.searches.router) sess.ping(sinfo.searches.router)
} }
if err != nil { if err != nil {