+Fri Apr 20 18:58:43 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed buffer overflow in silc_string_compare in the file
+ lib/silcutil/silcutil.c.
+
+ * Fixed double free in silc_server_command_leave in the file
+ silcd/command.c.
+
Fri Apr 20 14:00:11 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Fixed the version checking in the server. Affected file is
FALSE : !server->standalone);
}
- silc_free(id);
-
out:
if (id)
silc_free(id);
if (client && client->id) {
void *id = silc_id_str2id(packet->src_id, packet->src_id_len,
packet->src_id_type);
- if (SILC_ID_CLIENT_COMPARE(client->id, id)) {
+ if (!id || SILC_ID_CLIENT_COMPARE(client->id, id)) {
silc_free(id);
goto out;
}
tmpstr2 = silc_calloc(slen2 + 1, sizeof(char));
memcpy(tmpstr2, string2, slen2);
- for (i = 0; i < slen2; i++) {
+ for (i = 0; i < slen1; i++) {
/* * wildcard. Only one * wildcard is possible. */
if (tmpstr1[i] == '*')
if (!(slen1 < slen2))
tmpstr2[i] = '?';
}
-#if 0
- } else {
- if (strncmp(tmpstr1, tmpstr2, i))
- strncpy(tmpstr2, string2, slen2);
-#endif
}
}