From 5204f53d9953c5eaa9dda6cfca3a6ee2f00aa7e7 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 12 Nov 2007 19:07:06 +0000 Subject: [PATCH] STABLE14-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 3be060bf7..b528831a8 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -487,7 +487,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; } @@ -1024,6 +1024,7 @@ DeleteFileCallBacks(AFSFid * fid) TDel(cb); HDel(cb); FreeCB(cb); + fe->ncbs--; } FDel(fe); H_UNLOCK; -- 2.39.5