mirror of
https://github.com/livekit/livekit.git
synced 2026-10-23 17:22:59 +00:00
Prevent out-of-bounds access. (#2216)
* Prevent out-of-bounds access. Don't know which codec causes a spatial layer three access. Returning nil and also logging so that we know the trackID of offending track. * spelling
This commit is contained in:
1 parent
0bdfdb0c49
commit
a7a227709a
1 file changed
+6
-2
@@ -214,9 +214,9 @@ func (s *StreamTrackerManager) AddTracker(layer int32) streamtracker.StreamTrack
|
||||
})
|
||||
}
|
||||
|
||||
s.logger.Debugw("StreamTrackerManager add track", "layer", layer)
|
||||
s.logger.Debugw("stream tracker add track", "layer", layer)
|
||||
tracker.OnStatusChanged(func(status streamtracker.StreamStatus) {
|
||||
s.logger.Debugw("StreamTrackerManager OnStatusChanged", "layer", layer, "status", status)
|
||||
s.logger.Debugw("stream tracker status changed", "layer", layer, "status", status)
|
||||
if status == streamtracker.StreamStatusStopped {
|
||||
s.removeAvailableLayer(layer)
|
||||
} else {
|
||||
@@ -289,6 +289,10 @@ func (s *StreamTrackerManager) GetTracker(layer int32) streamtracker.StreamTrack
|
||||
s.lock.RLock()
|
||||
defer s.lock.RUnlock()
|
||||
|
||||
if int(layer) >= len(s.trackers) {
|
||||
s.logger.Errorw("unexpected layer", nil, "layer", layer)
|
||||
return nil
|
||||
}
|
||||
return s.trackers[layer]
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user