updates.
[runtime.git] / lib / silcutil / silcutil.c
index 9da9aea45de65065768afe63f0dff48b303eac79..dee8d90b72569c84b565ce5188b9573fc24b6a16 100644 (file)
@@ -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;