aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScottishTapWater <ScottishTapWater@users.noreply.github.com>2026-10-05 19:18:50 -0400
committerCody Robibero <cody@robibe.ro>2026-10-05 19:18:50 -0400
commit8c7878afaac773e4622bf19dcd51c5761840791c (patch)
tree4925f7eb9896bdd02141097a6918df65d9bf56ce
parent3f087eb4a54c7088e381d9e466a2978b6fb30e30 (diff)
Backport pull request #18224 from jellyfin/release-12.z
Upgrade ATL to 7.18.0 to fix malformed FLAC hangs Original-merge: ea99aee41441f2d950553a4db7011c651239db82 Merged-by: crobibero <cody@robibe.ro> Backported-by: Cody Robibero <cody@robibe.ro>
-rw-r--r--Directory.Packages.props2
-rw-r--r--tests/Jellyfin.Providers.Tests/MediaInfo/AtlFlacRegressionTests.cs26
2 files changed, 27 insertions, 1 deletions
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 38cf513124..17ae5ac125 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -80,7 +80,7 @@
<PackageVersion Include="Swashbuckle.AspNetCore" Version="10.2.3" />
<PackageVersion Include="System.Text.Json" Version="10.0.11" />
<PackageVersion Include="TagLibSharp" Version="2.3.0" />
- <PackageVersion Include="z440.atl.core" Version="7.16.0" />
+ <PackageVersion Include="z440.atl.core" Version="7.18.0" />
<PackageVersion Include="TMDbLib" Version="3.0.0" />
<PackageVersion Include="UTF.Unknown" Version="2.7.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
diff --git a/tests/Jellyfin.Providers.Tests/MediaInfo/AtlFlacRegressionTests.cs b/tests/Jellyfin.Providers.Tests/MediaInfo/AtlFlacRegressionTests.cs
new file mode 100644
index 0000000000..75ca0233f3
--- /dev/null
+++ b/tests/Jellyfin.Providers.Tests/MediaInfo/AtlFlacRegressionTests.cs
@@ -0,0 +1,26 @@
+using System.IO;
+using ATL;
+using Xunit;
+
+namespace Jellyfin.Providers.Tests.MediaInfo;
+
+public class AtlFlacRegressionTests
+{
+ [Fact(Timeout = 5000)]
+ public void AtlParser_MalformedFlac_DoesNotHang()
+ {
+ // The 456-byte Vorbis comment block claims a 1024-byte vendor string.
+ byte[] fixture = [
+ (byte)'f', (byte)'L', (byte)'a', (byte)'C',
+ 0, 0, 0, 34,
+ .. new byte[34],
+ 0x84, 0, 1, 200,
+ 0, 4, 0, 0,
+ .. new byte[452]
+ ];
+
+ // ATL 7.16 hangs on this stream.
+ using var stream = new MemoryStream(fixture);
+ _ = new Track(stream, ".flac");
+ }
+}