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);

Reply via email to