From e942a7f0f7a59f2f786cc4f8cb97942313a07674 Mon Sep 17 00:00:00 2001
From: Thomas Goyne <plorkyeran@aegisub.org>
Date: Tue, 8 Jul 2014 15:57:43 -0700
Subject: [PATCH] Fix int overflow when saving audio clips

---
 src/command/audio.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/command/audio.cpp b/src/command/audio.cpp
index cc5e2f7bd..af219c5fd 100644
--- a/src/command/audio.cpp
+++ b/src/command/audio.cpp
@@ -208,8 +208,8 @@ struct audio_save_clip final : public Command {
 
 		auto provider = c->project->AudioProvider();
 
-		auto start_sample = (start * provider->GetSampleRate() + 999) / 1000;
-		auto end_sample = (end * provider->GetSampleRate() + 999) / 1000;
+		auto start_sample = ((int64_t)start * provider->GetSampleRate() + 999) / 1000;
+		auto end_sample = ((int64_t)end * provider->GetSampleRate() + 999) / 1000;
 		if (start_sample >= provider->GetNumSamples() || start_sample >= end_sample) return;
 
 		size_t bytes_per_sample = provider->GetBytesPerSample() * provider->GetChannels();
-- 
GitLab