From ae1683b36a5e81bb6bbff4bb5c94fc0479a1844d Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Tue, 19 Jun 2001 20:58:57 +0000 Subject: [PATCH] updates. --- CHANGES | 3 +++ lib/silcutil/silcutil.c | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index d2d9efbb..85738f14 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,9 @@ Tue Jun 19 22:10:36 EEST 2001 Pekka Riikonen The affected file is lib/silccore/silcpacket.c. + * Fixed buffer overflow in silc_parse_nickname in the file + lib/silcutil/silcutil.c. + Tue Jun 19 13:40:09 CEST 2001 Pekka Riikonen * make install generates new server keys only if there is not diff --git a/lib/silcutil/silcutil.c b/lib/silcutil/silcutil.c index 9da9aea4..dee8d90b 100644 --- a/lib/silcutil/silcutil.c +++ b/lib/silcutil/silcutil.c @@ -364,19 +364,21 @@ int silc_parse_nickname(char *string, char **nickname, char **server, uint32 *num) { uint32 tlen; - char tmp[256]; if (!string) return FALSE; if (strchr(string, '!')) { + char *tmp; tlen = strcspn(string, "!"); - memset(tmp, 0, sizeof(tmp)); + tmp = silc_calloc(tlen + 1, sizeof(*tmp)); memcpy(tmp, string, tlen); if (num) *num = atoi(tmp); + silc_free(tmp); + if (tlen >= strlen(string)) return FALSE; -- 2.24.0