using System; using System.Collections.Generic; using Jellyfin.Server.Middleware; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.Extensions.Primitives; using SharpFuzz; namespace Emby.Server.Implementations.Fuzz { public static class Program { public static void Main(string[] args) { switch (args[0]) { case "UrlDecodeQueryFeature": Run(UrlDecodeQueryFeature); return; default: throw new ArgumentException($"Unknown fuzzing function: {args[0]}"); } } private static void Run(Action action) => Fuzzer.OutOfProcess.Run(action); private static void UrlDecodeQueryFeature(string data) { var dict = new Dictionary { { data, StringValues.Empty } }; _ = new UrlDecodeQueryFeature(new QueryFeature(new QueryCollection(dict))); } } }