From 5d5650234fb570d870e33dd827d39e5c5ab3e58c Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 12 Nov 2007 19:04:27 +0000 Subject: [PATCH] DEVEL15-viced-accurately-track-file-callbacks-20071112 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) --- src/viced/callback.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/viced/callback.c b/src/viced/callback.c index 8629d92d0..de59759cd 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -381,7 +381,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; } @@ -922,6 +922,7 @@ DeleteFileCallBacks(AFSFid * fid) TDel(cb); HDel(cb); FreeCB(cb); + fe->ncbs--; } FDel(fe); H_UNLOCK; -- 2.39.5