From: Alex Rousskov Date: Fri, 30 Apr 2010 18:01:29 +0000 (-0600) Subject: Fixed IPC message size calculation typo that led to gardbage in messages. X-Git-Tag: SQUID_3_2_0_1~93^2~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f8c67a7f6fa39e27071e794a8a51e09d21413954;p=thirdparty%2Fsquid.git Fixed IPC message size calculation typo that led to gardbage in messages. --- diff --git a/src/ipc/Messages.cc b/src/ipc/Messages.cc index 5b0d585af8..99d9d9dd89 100644 --- a/src/ipc/Messages.cc +++ b/src/ipc/Messages.cc @@ -22,12 +22,12 @@ Ipc::StrandCoord::StrandCoord(int aKidId, pid_t aPid): kidId(aKidId), pid(aPid) Ipc::StrandCoord::StrandCoord(const TypedMsgHdr &hdrMsg): kidId(-1), pid(0) { - hdrMsg.getData(mtRegistration, this, sizeof(this)); + hdrMsg.getData(mtRegistration, this, sizeof(*this)); } void Ipc::StrandCoord::pack(TypedMsgHdr &hdrMsg) const { - hdrMsg.putData(mtRegistration, this, sizeof(this)); + hdrMsg.putData(mtRegistration, this, sizeof(*this)); } @@ -42,10 +42,10 @@ Ipc::Descriptor::Descriptor(int aFromKid, int aFd): fromKid(aFromKid), fd(aFd) Ipc::Descriptor::Descriptor(const TypedMsgHdr &hdrMsg): fromKid(-1), fd(-1) { if (hdrMsg.type() == mtDescriptorGet) { - hdrMsg.getData(mtDescriptorGet, this, sizeof(this)); + hdrMsg.getData(mtDescriptorGet, this, sizeof(*this)); fd = -1; } else { - hdrMsg.getData(mtDescriptorPut, this, sizeof(this)); + hdrMsg.getData(mtDescriptorPut, this, sizeof(*this)); fd = hdrMsg.getFd(); } } @@ -53,9 +53,9 @@ Ipc::Descriptor::Descriptor(const TypedMsgHdr &hdrMsg): fromKid(-1), fd(-1) void Ipc::Descriptor::pack(TypedMsgHdr &hdrMsg) const { if (fd >= 0) { - hdrMsg.putData(mtDescriptorPut, this, sizeof(this)); + hdrMsg.putData(mtDescriptorPut, this, sizeof(*this)); hdrMsg.putFd(fd); } else { - hdrMsg.putData(mtDescriptorGet, this, sizeof(this)); + hdrMsg.putData(mtDescriptorGet, this, sizeof(*this)); } }