Merge pull request #50660 from corhere/libn/overlay-eventnotify-nilderef

libn/d/overlay: don't deref nil PeerRecord on error
This commit is contained in:
Cory Snider
2025-08-12 11:51:44 -04:00
committed by GitHub
2 changed files with 4 additions and 8 deletions

View File

@@ -174,8 +174,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) {
prevPeer, err = UnmarshalPeerRecord(prev)
if err != nil {
log.G(context.TODO()).WithError(err).Error("Failed to unmarshal previous peer record")
}
if prevPeer.TunnelEndpointIP == d.advertiseAddress {
} else if prevPeer.TunnelEndpointIP == d.advertiseAddress {
// Ignore local peers. We don't add them to the VXLAN
// FDB so don't need to remove them.
prevPeer = nil
@@ -186,8 +185,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) {
newPeer, err = UnmarshalPeerRecord(value)
if err != nil {
log.G(context.TODO()).WithError(err).Error("Failed to unmarshal peer record")
}
if newPeer.TunnelEndpointIP == d.advertiseAddress {
} else if newPeer.TunnelEndpointIP == d.advertiseAddress {
newPeer = nil
}
}

View File

@@ -74,8 +74,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) {
prevPeer, err = overlay.UnmarshalPeerRecord(prev)
if err != nil {
log.G(context.TODO()).WithError(err).Error("Failed to unmarshal previous peer record")
}
if prevPeer.TunnelEndpointIP.String() == n.providerAddress {
} else if prevPeer.TunnelEndpointIP.String() == n.providerAddress {
// Ignore local peers. We don't add them to the VXLAN
// FDB so don't need to remove them.
prevPeer = nil
@@ -86,8 +85,7 @@ func (d *driver) EventNotify(nid, tableName, key string, prev, value []byte) {
newPeer, err = overlay.UnmarshalPeerRecord(value)
if err != nil {
log.G(context.TODO()).WithError(err).Error("Failed to unmarshal peer record")
}
if prevPeer.TunnelEndpointIP.String() == n.providerAddress {
} else if newPeer.TunnelEndpointIP.String() == n.providerAddress {
newPeer = nil
}
}