From 28cfca28c8a2c89f2278f24d226834283af8bb6a Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Wed, 11 Jan 2023 22:26:44 -0800 Subject: [PATCH] Fix sizeof(cursub / curdir) issue as these user_t fields were increased in v3.20 ... but the old user.dat fields would still just be 16 chars in size. Also a strcpy -> SAFECOPY conversion for user tmpext. --- src/sbbs3/upgrade_to_v320.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/upgrade_to_v320.c b/src/sbbs3/upgrade_to_v320.c index 0484d2d2c3..43e2767c70 100644 --- a/src/sbbs3/upgrade_to_v320.c +++ b/src/sbbs3/upgrade_to_v320.c @@ -346,8 +346,8 @@ static int v31x_parseuserdat(scfg_t* cfg, char *userdat, user_t *user) getrec(userdat,U_LEECH,2,str); user->leech=(uchar)ahtoul(str); - getrec(userdat,U_CURSUB,sizeof(user->cursub)-1,user->cursub); - getrec(userdat,U_CURDIR,sizeof(user->curdir)-1,user->curdir); + getrec(userdat,U_CURSUB,16,user->cursub); + getrec(userdat,U_CURDIR,16,user->curdir); getrec(userdat,U_CURXTRN,8,user->curxtrn); getrec(userdat,U_FREECDT,LEN31x_CDT,str); @@ -383,7 +383,7 @@ static int v31x_parseuserdat(scfg_t* cfg, char *userdat, user_t *user) getrec(userdat,U_TMPEXT,3,user->tmpext); if((!user->tmpext[0] || !strcmp(user->tmpext,"0")) && cfg->total_fcomps) - strcpy(user->tmpext,cfg->fcomp[0]->ext); /* For v1x to v2x conversion */ + SAFECOPY(user->tmpext,cfg->fcomp[0]->ext); /* For v1x to v2x conversion */ getrec(userdat,U_CHAT,8,str); user->chat=ahtoul(str); -- GitLab