SDL_mixer: Disallow negative frames/ms

From fb3f10b028247e105b4c99da00f2cbc417f57ca6 Mon Sep 17 00:00:00 2001
From: Petar Popovic <[EMAIL REDACTED]>
Date: Mon, 28 Jul 2025 12:05:34 +0200
Subject: [PATCH] Disallow negative frames/ms

---
 src/SDL_mixer.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/SDL_mixer.c b/src/SDL_mixer.c
index 8020acc8..7d81dd18 100644
--- a/src/SDL_mixer.c
+++ b/src/SDL_mixer.c
@@ -1778,6 +1778,8 @@ bool MIX_SetTrackPlaybackPosition(MIX_Track *track, Sint64 frames)
 {
     if (!CheckTrackParam(track)) {
         return false;
+    } else if (frames < 0) {
+        return SDL_InvalidParamError("frames");
     }
 
     bool retval = true;
@@ -1868,6 +1870,8 @@ Sint64 MIX_MSToFrames(int sample_rate, Sint64 ms)
 {
     if (sample_rate <= 0) {
         return 0;
+    } else if (ms < 0) {
+        return 0;
     }
     return (Sint64) ((((double) ms) / 1000.0) * ((double) sample_rate));
 }
@@ -1876,6 +1880,8 @@ Sint64 MIX_FramesToMS(int sample_rate, Sint64 frames)
 {
     if (sample_rate <= 0) {
         return 0;
+    } else if (frames < 0) {
+        return 0;
     }
     return (Sint64) ((((double) frames) / ((double) sample_rate)) * 1000.0);
 }