From: Pekka Riikonen Date: Tue, 19 Jun 2001 20:58:57 +0000 (+0000) Subject: updates. X-Git-Tag: 1.2.beta1~2134 X-Git-Url: http://git.silc.fi/gitweb/?a=commitdiff_plain;h=ae1683b36a5e81bb6bbff4bb5c94fc0479a1844d;p=runtime.git updates. --- 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;