diff --git a/src/defrag.c b/src/defrag.c index 15e1c3850e..6a41b0059d 100644 --- a/src/defrag.c +++ b/src/defrag.c @@ -558,7 +558,7 @@ Defrag4Reassemble(ThreadVars *tv, DefragContext *dc, DefragTracker *tracker, /* This is the first packet, we use this packets link and * IPv4 header. We also copy in its data. */ if (PacketCopyData(rp, frag->pkt, frag->len) == -1) - return NULL; + goto remove_tracker; rp->ip4h = (IPV4Hdr *)(GET_PKT_DATA(rp) + frag->ip_hdr_offset); hlen = frag->hlen; ip_hdr_offset = frag->ip_hdr_offset; @@ -578,7 +578,7 @@ Defrag4Reassemble(ThreadVars *tv, DefragContext *dc, DefragTracker *tracker, if (PacketCopyDataOffset(rp, fragmentable_offset + frag->offset + frag->ltrim, frag->pkt + frag->data_offset + frag->ltrim, frag->data_len - frag->ltrim) == -1) { - return NULL; + goto remove_tracker; } if (frag->offset + frag->data_len > fragmentable_len) fragmentable_len = frag->offset + frag->data_len; diff --git a/src/source-erf-dag.c b/src/source-erf-dag.c index 3987bc6e1c..ff847567a2 100644 --- a/src/source-erf-dag.c +++ b/src/source-erf-dag.c @@ -527,8 +527,7 @@ TmEcode ProcessErfDagRecord(ErfDagThreadVars *ewtn, char *prec, Packet *p) /* Take into account for link type Ethernet ETH frame starts * after ther ERF header + pad. */ - if (PacketCopyData(p, pload->eth.dst, GET_PKT_LEN(p)) == -1) - SCReturnInt(TM_ECODE_FAILED); + PacketCopyData(p, pload->eth.dst, GET_PKT_LEN(p)); SCLogDebug("pktlen: %" PRIu32 " (pkt %02x, pkt data %02x)", GET_PKT_LEN(p), *p, *GET_PKT_DATA(p)); diff --git a/src/source-ipfw.c b/src/source-ipfw.c index 93b19fec3b..89bf932b48 100644 --- a/src/source-ipfw.c +++ b/src/source-ipfw.c @@ -254,8 +254,7 @@ TmEcode ReceiveIPFW(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq, Pack ptv->bytes += pktlen; p->datalink = ptv->datalink; - if (PacketCopyData(p, pkt, pktlen) == -1) - SCReturnInt(TM_ECODE_FAILED); + PacketCopyData(p, pkt, pktlen); SCLogDebug("Packet info: pkt_len: %" PRIu32 " (pkt %02x, pkt_data %02x)", GET_PKT_LEN(p), *pkt, GET_PKT_DATA(p)); /* pass on... */ diff --git a/src/source-nfq.c b/src/source-nfq.c index 6414d43dea..c9bcde47e7 100644 --- a/src/source-nfq.c +++ b/src/source-nfq.c @@ -179,11 +179,7 @@ void NFQSetupPkt (Packet *p, void *data) SCLogWarning(SC_ERR_INVALID_ARGUMENTS, "NFQ sent too big packet"); SET_PKT_LEN(p, 0); } else { - ret = PacketCopyData(p, (uint8_t *)pktdata, ret); - if (ret == -1) { - SCLogWarning(SC_ERR_INVALID_ARGUMENTS, "NFQ send strange packet"); - SET_PKT_LEN(p, 0); - } + PacketCopyData(p, (uint8_t *)pktdata, ret); } } else if (ret == -1) { /* unable to get pointer to data, ensure packet length is zero. diff --git a/src/source-pfring.c b/src/source-pfring.c index 9a37bb3a06..babdc24a16 100644 --- a/src/source-pfring.c +++ b/src/source-pfring.c @@ -171,9 +171,7 @@ void PfringProcessPacket(void *user, struct pfring_pkthdr *h, u_char *pkt, Packe /* PF_RING all packets are marked as a link type of ethernet so that is what we do here. */ p->datalink = LINKTYPE_ETHERNET; - if (PacketCopyData(p, pkt, h->caplen) == -1) - SCLogError(SC_ERR_MEM_ALLOC, "PF_RING process packet failed: %s", strerror(errno)); - + PacketCopyData(p, pkt, h->caplen); } /**