Sun Nov 9 19:33:59 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
authorJochen Eisinger <coffee@silcnet.org>
Sun, 9 Nov 2003 18:36:59 +0000 (18:36 +0000)
committerJochen Eisinger <coffee@silcnet.org>
Sun, 9 Nov 2003 18:36:59 +0000 (18:36 +0000)
* Fixed a memory leak and incorrect printing of the "appears as"
  message.  Affected file irssi/src/silc/core/client_ops.c

CHANGES
apps/irssi/src/silc/core/client_ops.c

diff --git a/CHANGES b/CHANGES
index 16f41b6a51240be04dd87869c3f728183b8be3e3..77bdf05c37cd1285a8009ac5a9283632ae4ca56e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+Sun Nov  9 19:33:59 CET 2003  Jochen Eisinger <jochen@penguin-breeder.org>
+
+       * Fixed a memory leak and incorrect printing of the "appears as"
+         message.  Affected file irssi/src/silc/core/client_ops.c
+
 Sun Nov  9 17:45:11 EET 2003  Pekka Riikonen <priikone@silcnet.org>
 
        * Added CRT (Chinese Remainder Theorem) supported RSA
index 37ada41be34e8e38d3eb433464e3de074973a5cf..0cad5774a907d9ffb631069aaa51c6f4ac3005ff 100644 (file)
@@ -1850,17 +1850,22 @@ silc_command_reply(SilcClient client, SilcClientConnection conn,
        collider = silc_client_get_client_by_id(client, conn,
                                                old->id);
 
-        memset(buf, 0, sizeof(buf));
-        snprintf(buf, sizeof(buf) - 1, "%s@%s",
-                collider->username, collider->hostname);
-       nicklist_rename_unique(SERVER(server),
-                              old, old->nickname,
-                              collider, collider->nickname);
-       silc_print_nick_change(server, collider->nickname,
-                              client_entry->nickname, buf);
-       g_slist_free(nicks);
+       if (collider != client_entry) {
+
+          memset(buf, 0, sizeof(buf));
+          snprintf(buf, sizeof(buf) - 1, "%s@%s",
+                  collider->username, collider->hostname);
+         nicklist_rename_unique(SERVER(server),
+                                old, old->nickname,
+                                collider, collider->nickname);
+         silc_print_nick_change(server, collider->nickname,
+                                client_entry->nickname, buf);
+       }
       }
 
+      if (nicks != NULL)
+       g_slist_free(nicks);
+
       old = g_strdup(server->nick);
       server_change_nick(SERVER(server), client_entry->nickname);
       nicklist_rename_unique(SERVER(server),