Fixed the silc_parse_userqfdn argument handling, again.
[silc.git] / lib / silcutil / silcutil.c
index b0f8e117b264c48c32fb852a8c9284499e19035a..5d656b78881324c70aa4d0a4c50e234e4d365ad0 100644 (file)
@@ -119,8 +119,10 @@ int silc_parse_userfqdn(const char *string,
   if (!user && !fqdn)
     return 0;
 
-  memset(user, 0, user_size);
-  memset(fqdn, 0, fqdn_size);
+  if (user)
+    memset(user, 0, user_size);
+  if (user)
+    memset(fqdn, 0, fqdn_size);
 
   if (!string)
     return 0;
@@ -469,7 +471,7 @@ char *silc_fingerprint(const unsigned char *data, SilcUInt32 data_len)
 {
   unsigned char *fingerprint, *cp;
   unsigned int len, blocks, i;
-  
+
   if (!data || !data_len)
     return NULL;
 
@@ -484,7 +486,7 @@ char *silc_fingerprint(const unsigned char *data, SilcUInt32 data_len)
   cp = fingerprint = silc_calloc(len, sizeof(*fingerprint));
   if (!cp)
     return NULL;
-  
+
   for (i = 0; i < data_len; i++) {
     silc_snprintf(cp, len, "%02X", data[i]);
     cp += 2;
@@ -497,7 +499,7 @@ char *silc_fingerprint(const unsigned char *data, SilcUInt32 data_len)
   }
   i--;
   if ((i + 1) % 10 == 0)
-    *(--cp) = '\0';  
+    *(--cp) = '\0';
   if ((i + 1) % 2 == 0)
     *(--cp) = '\0';