From: Alex Rousskov Date: Sun, 2 Feb 2014 02:47:05 +0000 (-0700) Subject: Comm job callbacks need job's cbdata pointer, not a job pointer. X-Git-Tag: SQUID_3_4_3~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa9b122ecf747348a4edbc02f4d38479faa6744e;p=thirdparty%2Fsquid.git Comm job callbacks need job's cbdata pointer, not a job pointer. Otherwise, in complex inheritance hierarchies, some [inner] classes will hit cbdata cookie assertions when scheduling Comm calls with callbacks. --- diff --git a/src/CommCalls.h b/src/CommCalls.h index 5003e78faa..2af0fbab18 100644 --- a/src/CommCalls.h +++ b/src/CommCalls.h @@ -176,7 +176,7 @@ public: typedef void (C::*Method)(const Params &io); CommCbMemFunT(const CbcPointer &aJob, Method aMeth): JobDialer(aJob), - CommDialerParamsT(aJob.get()), + CommDialerParamsT(aJob->toCbdata()), method(aMeth) {} virtual bool canDial(AsyncCall &c) {