From e179c53f19810648e739d179457ede23f201cd22 Mon Sep 17 00:00:00 2001 From: philsmd Date: Sun, 20 Mar 2016 19:24:21 +0100 Subject: [PATCH] fixed some parser checks to avoid crashes (-m 5300/5400) --- docs/changes.txt | 4 ++++ src/shared.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/changes.txt b/docs/changes.txt index 2335f80fe..6f5759dbf 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -163,6 +163,10 @@ Type.: Bug File.: Host Desc.: Fixed some checks in the parser of -m 1711 = SSHA-512(Base64), LDAP {SSHA512} +Type.: Bug +File.: Host +Desc.: Fixed some checks in the parser of -m 5300 = IKE-PSK MD5 and -m 5400 = IKE-PSK SHA1 + * changes v2.00 -> v2.01: Type.: Bug diff --git a/src/shared.c b/src/shared.c index 977cd0edc..afb3d4716 100644 --- a/src/shared.c +++ b/src/shared.c @@ -12195,6 +12195,8 @@ int ikepsk_md5_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf) in_off[0] = strtok (input_buf, ":"); + if (in_off[0] == NULL) return (PARSER_SEPARATOR_UNMATCHED); + in_len[0] = strlen (in_off[0]); size_t i; @@ -12280,6 +12282,8 @@ int ikepsk_sha1_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf) in_off[0] = strtok (input_buf, ":"); + if (in_off[0] == NULL) return (PARSER_SEPARATOR_UNMATCHED); + in_len[0] = strlen (in_off[0]); size_t i;