Apply NBTReadLimiter to more things.

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2014-07-27 20:46:04 +10:00
parent f972379105
commit 5b20d95920
2 changed files with 52 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
package org.spigotmc;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
import net.minecraft.nbt.NbtAccounter;
public class LimitStream extends FilterInputStream
{
private final NbtAccounter limit;
public LimitStream(InputStream is, NbtAccounter limit)
{
super( is );
this.limit = limit;
}
@Override
public int read() throws IOException
{
this.limit.accountBytes( 1 );
return super.read();
}
@Override
public int read(byte[] b) throws IOException
{
this.limit.accountBytes( b.length );
return super.read( b );
}
@Override
public int read(byte[] b, int off, int len) throws IOException
{
this.limit.accountBytes( len );
return super.read( b, off, len );
}
}