diff options
author | kcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-09-21 01:18:53 +0800 |
---|---|---|
committer | kcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2007-09-21 01:18:53 +0800 |
commit | b9539de0ffa696b5f8debe2d3e91e4eab81004fa (patch) | |
tree | 0d7dcb34b8264f4e6579452ee580c41d55f5cc85 /mbbsd/talk.c | |
parent | 2b3b00dc185e362e46f93a6ad50fb4d423452551 (diff) | |
download | pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.tar pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.tar.gz pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.tar.bz2 pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.tar.lz pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.tar.xz pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.tar.zst pttbbs-b9539de0ffa696b5f8debe2d3e91e4eab81004fa.zip |
* fix bug: don't getdata() on non-local variable directly, to avoid reentrant crash.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3564 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/talk.c')
-rw-r--r-- | mbbsd/talk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c index e2bc8354..85d1300b 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -2911,8 +2911,10 @@ userlist(void) case 'N': if (HasUserPerm(PERM_LOGINOK)) { + char tmp_nick[sizeof(cuser.nickname)]; oldgetdata(1, 0, "·sªº¼ÊºÙ: ", - cuser.nickname, sizeof(cuser.nickname), DOECHO); + tmp_nick, sizeof(tmp_nick), DOECHO); + strlcpy(cuser.nickname, tmp_nick, sizeof(cuser.nickname)); strcpy(currutmp->nickname, cuser.nickname); redrawall = redraw = 1; } |