aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorCampus <campus@ntop.org>2017-04-15 00:40:01 +0200
committerCampus <campus@ntop.org>2017-04-15 00:40:01 +0200
commit2b0809f3dc297289f9413db4dde2eaa109a3603e (patch)
tree11f642948e9b6a1dbe3410a8872bf16e22745efb /example
parent29cd6ef9942188633b79b5c1fe62360f048a6450 (diff)
name correction for llc_snap header and minor fix
Diffstat (limited to 'example')
-rw-r--r--example/ndpiReader.c2
-rw-r--r--example/ndpi_util.c10
2 files changed, 6 insertions, 6 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 3df43a9fe..b32650871 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -1331,7 +1331,7 @@ static void pcap_packet_callback_checked(u_char *args,
u_int16_t thread_id = *((u_int16_t*)args);
/* allocate an exact size buffer to check overflows */
- uint8_t *packet_checked = malloc(header->caplen); /* HEAP OVERFLOW !!! */
+ uint8_t *packet_checked = malloc(header->caplen);
memcpy(packet_checked, packet, header->caplen);
p = ndpi_workflow_process_packet(ndpi_thread_info[thread_id].workflow, header, packet_checked);
diff --git a/example/ndpi_util.c b/example/ndpi_util.c
index a5d9d300d..8fe80111a 100644
--- a/example/ndpi_util.c
+++ b/example/ndpi_util.c
@@ -582,7 +582,7 @@ struct ndpi_proto ndpi_workflow_process_packet (struct ndpi_workflow * workflow,
/* --- Ethernet header --- */
const struct ndpi_ethhdr *ethernet;
/* --- LLC header --- */
- const struct ndpi_llc_header *llc;
+ const struct ndpi_llc_header_snap *llc;
/* --- Cisco HDLC header --- */
const struct ndpi_chdlc *chdlc;
@@ -673,13 +673,13 @@ struct ndpi_proto ndpi_workflow_process_packet (struct ndpi_workflow * workflow,
type = check;
if(pyld_eth_len != 0) {
- llc = (struct ndpi_llc_header *)(&packet[ip_offset]);
+ llc = (struct ndpi_llc_header_snap *)(&packet[ip_offset]);
/* check for LLC layer with SNAP extension */
if(llc->dsap == SNAP || llc->ssap == SNAP) {
-#define SNAP_EXT
type = llc->snap.proto_ID;
ip_offset += + 8;
}
+ /* No SNAP extension - Spanning Tree pkt must be discarted */
else if(llc->dsap == BSTP || llc->ssap == BSTP) {
goto v4_warning;
}
@@ -716,12 +716,12 @@ struct ndpi_proto ndpi_workflow_process_packet (struct ndpi_workflow * workflow,
break;
/* Check ether_type from LLC */
- llc = (struct ndpi_llc_header*)(packet + eth_offset + wifi_len + radio_len);
+ llc = (struct ndpi_llc_header_snap*)(packet + eth_offset + wifi_len + radio_len);
if(llc->dsap == SNAP)
type = ntohs(llc->snap.proto_ID);
/* Set IP header offset */
- ip_offset = wifi_len + radio_len + sizeof(struct ndpi_llc_header) + eth_offset;
+ ip_offset = wifi_len + radio_len + sizeof(struct ndpi_llc_header_snap) + eth_offset;
break;
case DLT_RAW: