diff options
author | Simone Mainardi <mainardi@ntop.org> | 2019-11-19 11:34:34 +0100 |
---|---|---|
committer | Simone Mainardi <mainardi@ntop.org> | 2019-11-19 11:34:34 +0100 |
commit | 3754e6dd12b7f91fbb74930ed2a64acf8f6f87ea (patch) | |
tree | 9ce88c0e5e115f51965f1d3f1f7542fda16b7fee /src/lib/protocols/kerberos.c | |
parent | da029607a0499b7beee6dbbd369b92feef98f5c0 (diff) |
Fixes crash when searching kerberos usernames
Fixes
(gdb) f 0
101 if(cname_str[cname_len-1] == '$') {
(gdb) p cname_len
$3 = 0
Diffstat (limited to 'src/lib/protocols/kerberos.c')
-rw-r--r-- | src/lib/protocols/kerberos.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/protocols/kerberos.c b/src/lib/protocols/kerberos.c index c6ec83871..533995604 100644 --- a/src/lib/protocols/kerberos.c +++ b/src/lib/protocols/kerberos.c @@ -98,7 +98,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct, #endif /* if cname does not end with a $ then it's a username */ - if(cname_str[cname_len-1] == '$') { + if(cname_len && cname_str[cname_len-1] == '$') { cname_str[cname_len-1] = '\0'; snprintf(flow->protos.kerberos.hostname, sizeof(flow->protos.kerberos.hostname), "%s", cname_str); } else @@ -184,7 +184,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct, printf("[Kerberos Cname][len: %u][%s]\n", cname_len, cname_str); #endif - if(cname_str[cname_len-1] == '$') { + if(cname_len && cname_str[cname_len-1] == '$') { cname_str[cname_len-1] = '\0'; snprintf(flow->protos.kerberos.hostname, sizeof(flow->protos.kerberos.hostname), "%s", cname_str); } else |