[srvx-commits] CVS: services/src nickserv.c,1.170.2.3,1.170.2.4
Brought to you by:
entrope
|
From: Entrope <en...@us...> - 2002-11-01 02:14:54
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv9161/src
Modified Files:
Tag: rel-1_1-branch
nickserv.c
Log Message:
backport memory corruption fix from CVS HEAD
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.170.2.3
retrieving revision 1.170.2.4
diff -C2 -r1.170.2.3 -r1.170.2.4
*** nickserv.c 21 Oct 2002 03:03:03 -0000 1.170.2.3
--- nickserv.c 1 Nov 2002 02:14:36 -0000 1.170.2.4
***************
*** 3165,3171 ****
struct handle_info *hi;
if ((hi = dict_find(nickserv_allow_auth_dict, user->nick, 0))) {
! /* Need to update allow_auth_dict .. */
dict_remove(nickserv_allow_auth_dict, user->nick);
dict_insert(nickserv_allow_auth_dict, new_nick, hi);
}
if (nickserv_conf.warn_nick_owned
--- 3165,3178 ----
struct handle_info *hi;
if ((hi = dict_find(nickserv_allow_auth_dict, user->nick, 0))) {
! char old_nick[NICKLEN+1];
! /* Need to update allow_auth_dict. However, new_nick may be a
! * temporary pointer. The dict stores the key pointer. Make
! * sure it knows about the change but still points to
! * user->nick. */
dict_remove(nickserv_allow_auth_dict, user->nick);
+ strcpy(old_nick, user->nick);
+ strcpy(user->nick, new_nick);
dict_insert(nickserv_allow_auth_dict, new_nick, hi);
+ strcpy(user->nick, old_nick);
}
if (nickserv_conf.warn_nick_owned
|