#vulnerable code 
                                @Test
    public void testDecode() throws IOException {
        Packet packet = decoder.decodePacket("6:::140", null);
        Assert.assertEquals(PacketType.ACK, packet.getType());
        Assert.assertEquals(140, (long)packet.getAckId());
//        Assert.assertTrue(packet.getArgs().isEmpty());
    } 
                            #location 4 
                            #vulnerability type NULL_DEREFERENCE
#fixed code
                                @Test
    public void testDecode() throws IOException {
        Packet packet = decoder.decodePackets(Unpooled.copiedBuffer("6:::140", CharsetUtil.UTF_8), null);
        Assert.assertEquals(PacketType.ACK, packet.getType());
        Assert.assertEquals(140, (long)packet.getAckId());
//        Assert.assertTrue(packet.getArgs().isEmpty());
    }