From 19f0c6d937ade9b55fed943312c667ef17457417 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 11 Mar 2002 14:35:34 +0000 Subject: [PATCH] Now detects if new user record number (determined by name.dat) is beyond the valid size of the user.dat, generates an error log message, and fixes the user number so the record can be created successfully. --- src/sbbs3/newuser.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp index 529b07c01a..ccc67c8c41 100644 --- a/src/sbbs3/newuser.cpp +++ b/src/sbbs3/newuser.cpp @@ -412,11 +412,16 @@ void sbbs_t::newuser() fclose(stream); } j=lastuser(&cfg); /* Check against data file */ - if(i<=j) { /* Overwriting existing user */ + + if(i>j+1) { /* Corrupted name.dat? */ + errormsg(WHERE,ERR_CHK,"name.dat",i); + i=j+1; + } else if(i<=j) { /* Overwriting existing user */ getuserrec(&cfg,i,U_MISC,8,str); misc=ahtoul(str); if(!(misc&DELETED)) /* Not deleted? Set usernumber to end+1 */ - i=j+1; } + i=j+1; + } useron.number=i; if((i=putuserdat(&cfg,&useron))!=0) { -- GitLab