1
0
Fork 0
mirror of https://github.com/Radarr/Radarr synced 2025-01-01 04:45:35 +00:00

Fixed: Zero length file causes MediaInfo hanging in 100% cpu load. (#1340)

This commit is contained in:
Mitchell Cash 2017-04-08 21:34:17 +10:00 committed by Leonardo Galli
parent 17118cf24d
commit 3403ddf993

View file

@ -189,6 +189,11 @@ public int Open(string fileName)
public int Open(Stream stream) public int Open(Stream stream)
{ {
if (stream.Length < 1024)
{
return 0;
}
var isValid = (int)MediaInfo_Open_Buffer_Init(_handle, stream.Length, 0); var isValid = (int)MediaInfo_Open_Buffer_Init(_handle, stream.Length, 0);
if (isValid == 1) if (isValid == 1)
{ {
@ -203,7 +208,7 @@ public int Open(Stream stream)
totalRead += bufferRead; totalRead += bufferRead;
var status = (BufferStatus)MediaInfo_Open_Buffer_Continue(_handle, buffer, (IntPtr)bufferRead); var status = (BufferStatus)MediaInfo_Open_Buffer_Continue(_handle, buffer, (IntPtr)bufferRead);
if (status.HasFlag(BufferStatus.Finalized) || status <= 0 || bufferRead == 0) if (status.HasFlag(BufferStatus.Finalized) || status <= 0 || bufferRead == 0)
{ {
Logger.Trace("Read file offset {0}-{1} ({2} bytes)", seekStart, stream.Position, stream.Position - seekStart); Logger.Trace("Read file offset {0}-{1} ({2} bytes)", seekStart, stream.Position, stream.Position - seekStart);