diff options
| author | ScottishTapWater <ScottishTapWater@users.noreply.github.com> | 2026-10-05 19:18:50 -0400 |
|---|---|---|
| committer | Cody Robibero <cody@robibe.ro> | 2026-10-05 19:18:50 -0400 |
| commit | 8c7878afaac773e4622bf19dcd51c5761840791c (patch) | |
| tree | 4925f7eb9896bdd02141097a6918df65d9bf56ce | |
| parent | 3f087eb4a54c7088e381d9e466a2978b6fb30e30 (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.props | 2 | ||||
| -rw-r--r-- | tests/Jellyfin.Providers.Tests/MediaInfo/AtlFlacRegressionTests.cs | 26 |
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"); + } +} |
