mojira.dev
MC-114281

MutableBlockPos leak

There is a part of the World code (method net.minecraft.world.World.getRawLight(BlockPos, EnumSkyBlock) (MCP name)) that checks light where a MutableBlockPos is retained but not released.

Before the last return, the MutableBlockPos is released.
For the first return, it is not.

World.java

else
{
	BlockPos.PooledMutableBlockPos blockpos$pooledmutableblockpos = BlockPos.PooledMutableBlockPos.retain();

	for (EnumFacing enumfacing : EnumFacing.values())
	{
		blockpos$pooledmutableblockpos.setPos(pos).move(enumfacing);
		int k = this.getLightFor(lightType, blockpos$pooledmutableblockpos) - j;

		if (k > i)
		{
			i = k;
		}

		if (i >= 14)
		{
			return i;
		}
	}

	blockpos$pooledmutableblockpos.release();
	return i;
}

Comments 0

No comments.

mezz

Nathan Adams

Confirmed

block-light, leak, light, light-level

Minecraft 1.11.2, Minecraft 17w15a

Minecraft 1.12 Pre-Release 3

Retrieved