Repository: nifi Updated Branches: refs/heads/NIFI-964 b9cff5d24 -> 4138c8a6c
NIFI-964 Protecting against null values for header or payload Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/4138c8a6 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/4138c8a6 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/4138c8a6 Branch: refs/heads/NIFI-964 Commit: 4138c8a6cfe486e1d6ff78c27c70c4027ac2a166 Parents: b9cff5d Author: Bryan Bende <[email protected]> Authored: Wed Sep 16 16:14:21 2015 -0400 Committer: Bryan Bende <[email protected]> Committed: Wed Sep 16 16:14:21 2015 -0400 ---------------------------------------------------------------------- .../apache/nifi/processors/pcap/GetPcap.java | 26 +++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/4138c8a6/nifi-nar-bundles/nifi-pcap-bundle/nifi-pcap-processors/src/main/java/org/apache/nifi/processors/pcap/GetPcap.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-pcap-bundle/nifi-pcap-processors/src/main/java/org/apache/nifi/processors/pcap/GetPcap.java b/nifi-nar-bundles/nifi-pcap-bundle/nifi-pcap-processors/src/main/java/org/apache/nifi/processors/pcap/GetPcap.java index d0d35b9..32fb6a5 100644 --- a/nifi-nar-bundles/nifi-pcap-bundle/nifi-pcap-processors/src/main/java/org/apache/nifi/processors/pcap/GetPcap.java +++ b/nifi-nar-bundles/nifi-pcap-bundle/nifi-pcap-processors/src/main/java/org/apache/nifi/processors/pcap/GetPcap.java @@ -217,20 +217,28 @@ public class GetPcap extends AbstractProcessor { @Override public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final Packet packet = packetQueue.poll(); - if (packet == null) { + if (packet == null || (packet.getPayload() == null && packet.getHeader() == null)) { return; } try { FlowFile flowFile = session.create(); - flowFile = session.putAttribute(flowFile, PACKET_HEADER_ATTR, packet.getHeader().toString()); - flowFile = session.write(flowFile, new OutputStreamCallback() { - @Override - public void process(OutputStream out) throws IOException { - out.write(packet.getRawData()); - out.flush(); - } - }); + + final Packet.Header header = packet.getHeader(); + if (header != null) { + flowFile = session.putAttribute(flowFile, PACKET_HEADER_ATTR, packet.getHeader().toString()); + } + + final Packet payload = packet.getPayload(); + if (payload != null) { + flowFile = session.write(flowFile, new OutputStreamCallback() { + @Override + public void process(OutputStream out) throws IOException { + out.write(payload.getRawData()); + out.flush(); + } + }); + } getLogger().info("Transferring {} to success", new Object[]{flowFile}); session.transfer(flowFile, SUCCESS);
