Skip to content
Snippets Groups Projects
Commit c0c3c3ae authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Check return value of seekuserdat() in putuserdat() and return failure

... trying to get to bottom of user.tab corruption reported in issue #797.

Also, don't need to seek in lockuserdat() since we always call seekuserdat()
first.
parent 800abeee
Branches
Tags
No related merge requests found
Pipeline #7033 failed
......@@ -279,8 +279,6 @@ bool lockuserdat(int file, unsigned user_number)
off_t offset = userdatoffset(user_number);
if(lseek(file, offset, SEEK_SET) != offset)
return false;
unsigned attempt=0;
while(attempt < LOOP_USERDAT && lock(file, offset, USER_RECORD_LINE_LEN) == -1) {
attempt++;
......@@ -783,7 +781,10 @@ int putuserdat(scfg_t* cfg, user_t* user)
return(-4);
}
seekuserdat(file, user->number);
if(!seekuserdat(file, user->number)) {
close(file);
return -5;
}
if(!lockuserdat(file, user->number)) {
close(file);
return(-2);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment