Fix NPE when sending packets to null channels.

This commit is contained in:
retrooper committed 2023-09-16 18:20:23 +02:00
1 parent 5939573ee3
commit 9ecadae4f9
7 files changed
+16 -16

No files matched your search

@@ -45,7 +45,7 @@ public class PacketEventsPlugin extends JavaPlugin {
@Override
public void onEnable() {
/*PacketEvents.get().getEventManager().registerListener(new PacketListenerAbstract() {
PacketEvents.get().getEventManager().registerListener(new PacketListenerAbstract() {
@Override
public void onPacketPlayReceive(PacketPlayReceiveEvent event) {
if (event.getPacketId() == PacketType.Play.Client.USE_ENTITY) {
@@ -68,7 +68,7 @@ public class PacketEventsPlugin extends JavaPlugin {
}
}
});*/
});
PacketEvents.get().init();
}
@@ -284,7 +284,7 @@ public class EarlyChannelInjectorLegacy implements EarlyInjector {
public void writePacket(Object ch, Object rawNMSPacket) {
Channel channel = (Channel) ch;
//Don't write packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -295,7 +295,7 @@ public class EarlyChannelInjectorLegacy implements EarlyInjector {
public void flushPackets(Object ch) {
Channel channel = (Channel) ch;
//Don't flush packets for fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -306,7 +306,7 @@ public class EarlyChannelInjectorLegacy implements EarlyInjector {
public void sendPacket(Object ch, Object rawNMSPacket) {
Channel channel = (Channel) ch;
//Don't send packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -48,7 +48,7 @@ public class PEChannelInitializerLegacy extends ChannelInitializer<Channel> {
protected void initChannel(Channel channel) throws Exception {
initChannelMethod.invoke(oldChannelInitializer, channel);
PlayerChannelHandlerLegacy channelHandler = new PlayerChannelHandlerLegacy();
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -70,7 +70,7 @@ public class LateChannelInjectorLegacy implements LateInjector {
public void writePacket(Object ch, Object rawNMSPacket) {
Channel channel = (Channel) ch;
//Don't write packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -81,7 +81,7 @@ public class LateChannelInjectorLegacy implements LateInjector {
public void flushPackets(Object ch) {
Channel channel = (Channel) ch;
//Don't flush packets for fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -92,7 +92,7 @@ public class LateChannelInjectorLegacy implements LateInjector {
public void sendPacket(Object rawChannel, Object packet) {
Channel channel = (Channel) rawChannel;
//Don't send packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -293,7 +293,7 @@ public class EarlyChannelInjectorModern implements EarlyInjector {
public void writePacket(Object ch, Object rawNMSPacket) {
Channel channel = (Channel) ch;
//Don't write packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -304,7 +304,7 @@ public class EarlyChannelInjectorModern implements EarlyInjector {
public void flushPackets(Object ch) {
Channel channel = (Channel) ch;
//Don't flush packets for fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -315,7 +315,7 @@ public class EarlyChannelInjectorModern implements EarlyInjector {
public void sendPacket(Object ch, Object rawNMSPacket) {
Channel channel = (Channel) ch;
//Don't send packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -37,7 +37,7 @@ public class PEChannelInitializerModern extends ChannelInitializer<Channel> {
}
public static void postInitChannel(Channel channel) {
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -70,7 +70,7 @@ public class LateChannelInjectorModern implements LateInjector {
public void writePacket(Object ch, Object rawNMSPacket) {
Channel channel = (Channel) ch;
//Don't write packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -81,7 +81,7 @@ public class LateChannelInjectorModern implements LateInjector {
public void flushPackets(Object ch) {
Channel channel = (Channel) ch;
//Don't flush packets for fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}
@@ -92,7 +92,7 @@ public class LateChannelInjectorModern implements LateInjector {
public void sendPacket(Object rawChannel, Object packet) {
Channel channel = (Channel) rawChannel;
//Don't send packets to fake channels
if (ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
if (channel == null || ClassUtil.getClassSimpleName(channel.getClass()).equals("FakeChannel")
|| ClassUtil.getClassSimpleName(channel.getClass()).equals("SpoofedChannel")) {
return;
}