aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/oracle.c
diff options
context:
space:
mode:
authorPhilippe Antoine <contact@catenacyber.fr>2020-05-10 15:04:23 +0200
committerPhilippe Antoine <contact@catenacyber.fr>2020-05-10 15:04:23 +0200
commitb69177be2fbe01c2442239a61832c44e40136c05 (patch)
tree7e6364f628468559f640a423367a6170a1310112 /src/lib/protocols/oracle.c
parent39ae57e6a3d93cb91def5d76fc54e89075f01867 (diff)
Adds bound check in oracle protocol
Found by oss-fuzz https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21780
Diffstat (limited to 'src/lib/protocols/oracle.c')
-rw-r--r--src/lib/protocols/oracle.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/protocols/oracle.c b/src/lib/protocols/oracle.c
index 6ad6bac4c..a24837a68 100644
--- a/src/lib/protocols/oracle.c
+++ b/src/lib/protocols/oracle.c
@@ -43,7 +43,7 @@ void ndpi_search_oracle(struct ndpi_detection_module_struct *ndpi_struct, struct
NDPI_LOG_DBG2(ndpi_struct, "calculating ORACLE over tcp\n");
/* Oracle Database 9g,10g,11g */
if ((dport == 1521 || sport == 1521)
- && (((packet->payload[0] == 0x07) && (packet->payload[1] == 0xff) && (packet->payload[2] == 0x00))
+ && (((packet->payload_packet_len >= 3 && packet->payload[0] == 0x07) && (packet->payload[1] == 0xff) && (packet->payload[2] == 0x00))
|| ((packet->payload_packet_len >= 232) && ((packet->payload[0] == 0x00) || (packet->payload[0] == 0x01))
&& (packet->payload[1] != 0x00)
&& (packet->payload[2] == 0x00)