From: Jeffrey Altman Date: Thu, 13 Dec 2007 20:57:11 +0000 (+0000) Subject: STABLE146-viced-accurately-track-file-callbacks-20071112 X-Git-Tag: openafs-stable-1_4_6~4 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=9c5b45d252d70269787b68d2d41cdaa51b654623;p=packages%2Fo%2Fopenafs.git 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) --- diff --git a/src/viced/callback.c b/src/viced/callback.c index 0afd56796..cac19529f 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -493,7 +493,7 @@ CDelPtr(register struct FileEntry *fe, register afs_uint32 * cbp, CcdelB++; *cbp = cb->cnext; FreeCB(cb); - if (deletefe && (--fe->ncbs == 0)) + if ((--fe->ncbs == 0) && deletefe) FDel(fe); return 0; } @@ -1030,6 +1030,7 @@ DeleteFileCallBacks(AFSFid * fid) TDel(cb); HDel(cb); FreeCB(cb); + fe->ncbs--; } FDel(fe); H_UNLOCK;