STABLE146-viced-accurately-track-file-callbacks-20071112

LICENSE IPL10
FIXES 74708

this should fix the issue with cbfree being corrupted. a more exhaustive pointer-blunting patch should probably be pulled in, but, this is simple and obvious


(cherry picked from commit d284c0e7c11e8ee4755ac152e5e47d4abf304afc)
This commit is contained in:
Jeffrey Altman 2007-12-13 20:57:11 +00:00 committed by Derrick Brashear
parent 4fdbf026e5
commit 9c5b45d252

View File

@ -493,7 +493,7 @@ CDelPtr(register struct FileEntry *fe, register afs_uint32 * cbp,
CcdelB++; CcdelB++;
*cbp = cb->cnext; *cbp = cb->cnext;
FreeCB(cb); FreeCB(cb);
if (deletefe && (--fe->ncbs == 0)) if ((--fe->ncbs == 0) && deletefe)
FDel(fe); FDel(fe);
return 0; return 0;
} }
@ -1030,6 +1030,7 @@ DeleteFileCallBacks(AFSFid * fid)
TDel(cb); TDel(cb);
HDel(cb); HDel(cb);
FreeCB(cb); FreeCB(cb);
fe->ncbs--;
} }
FDel(fe); FDel(fe);
H_UNLOCK; H_UNLOCK;