aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/dhcp.c
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2019-12-18 19:49:46 +0100
committerLuca Deri <deri@ntop.org>2019-12-18 19:49:46 +0100
commit23421b47d998c6fc4f90070c34c0693362d95bed (patch)
treeadd7e4864cd45da571ea7708083418cbcbc76178 /src/lib/protocols/dhcp.c
parent1cab9fe83805efa7e11b9ec1f5d5ed875dd2325c (diff)
Added snprintf() return code check
Diffstat (limited to 'src/lib/protocols/dhcp.c')
-rw-r--r--src/lib/protocols/dhcp.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/lib/protocols/dhcp.c b/src/lib/protocols/dhcp.c
index 2aff1ec18..d939df1d8 100644
--- a/src/lib/protocols/dhcp.c
+++ b/src/lib/protocols/dhcp.c
@@ -104,16 +104,12 @@ void ndpi_search_dhcp_udp(struct ndpi_detection_module_struct *ndpi_struct, stru
u_int idx, offset = 0;
for(idx = 0; idx < len && offset < sizeof(flow->protos.dhcp.fingerprint) - 2; idx++) {
-#if 1
- offset += snprintf((char*)&flow->protos.dhcp.fingerprint[offset],
+ int rc = snprintf((char*)&flow->protos.dhcp.fingerprint[offset],
sizeof(flow->protos.dhcp.fingerprint) - offset,
"%s%u", (idx > 0) ? "," : "",
(unsigned int)dhcp->options[i+2+idx] & 0xFF);
-#else
- offset += snprintf((char*)&flow->protos.dhcp.fingerprint[offset],
- sizeof(flow->protos.dhcp.fingerprint) - offset,
- "%02X", dhcp->options[i+2+idx] & 0xFF);
-#endif
+
+ if(rc < 0) break; else offset += rc;
}
flow->protos.dhcp.fingerprint[sizeof(flow->protos.dhcp.fingerprint) - 1] = '\0';