Browse Source

UI: Avoid division by zero when calculating slider position

Detected by UBSan.
Richard Stanway 2 years ago
parent
commit
bff7928b50
1 changed files with 7 additions and 1 deletions
  1. 7 1
      UI/media-controls.cpp

+ 7 - 1
UI/media-controls.cpp

@@ -338,7 +338,13 @@ void MediaControls::SetSliderPosition()
 	float time = (float)obs_source_media_get_time(source);
 	float duration = (float)obs_source_media_get_duration(source);
 
-	float sliderPosition = (time / duration) * (float)ui->slider->maximum();
+	float sliderPosition;
+
+	if (duration)
+		sliderPosition =
+			(time / duration) * (float)ui->slider->maximum();
+	else
+		sliderPosition = 0.0f;
 
 	ui->slider->setValue((int)sliderPosition);