Memory leak fixes.
[silc.git] / lib / silcclient / command.c
index 19b9fc6c07646ace947e14477d9593e2b893e639..86ce6acbbe490a4c734f5bf1c26cb30f9cdca4e1 100644 (file)
@@ -727,11 +727,14 @@ SILC_FSM_STATE(silc_client_command_whois)
                                           SILC_ATTRIBUTE_USER_PUBLIC_KEY,
                                           SILC_ATTRIBUTE_FLAG_VALID,
                                           &obj, sizeof(obj));
+    silc_free(obj.data);
   }
 
-  silc_client_nickname_parse(client, conn, cmd->argv[1], &nickname);
-  if (!nickname)
-    nickname = strdup(cmd->argv[1]);
+  if (nick) {
+    silc_client_nickname_parse(client, conn, cmd->argv[1], &nickname);
+    if (!nickname)
+      nickname = strdup(cmd->argv[1]);
+  }
 
   /* Send command */
   silc_client_command_send_va(conn, cmd, cmd->cmd, NULL, NULL,