From 9f74352a5377b869988908e7cb522db97efb699a Mon Sep 17 00:00:00 2001 From: Guilherme Amadio Date: Fri, 29 Nov 2024 10:08:18 +0100 Subject: [PATCH] Revert "[Secsss] Fix upcast array used in pointer arithmetics" This reverts commit 50209b3a5ed361f0e2c8541632cea1e217035b39. The fix is incorrect, as struct XrdSecsssRR_Data actually derives from XrdSecsssRR_DataHdr, which introduces some members in between such that prData.Data is not actually at the beginning of the struct, but at some non-zero offset (i.e. different address than &prData). --- src/XrdSecsss/XrdSecProtocolsss.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/XrdSecsss/XrdSecProtocolsss.cc b/src/XrdSecsss/XrdSecProtocolsss.cc index 5fc13566d5f..28466cab72e 100644 --- a/src/XrdSecsss/XrdSecProtocolsss.cc +++ b/src/XrdSecsss/XrdSecProtocolsss.cc @@ -590,7 +590,7 @@ int XrdSecProtocolsss::getCred(XrdOucErrInfo *einfo, // Extract out the loginid. This messy code is for backwards compatibility. // - bP = prData.Data; eodP = prData.Data + dLen; + bP = prData.Data; eodP = dLen + (char *)&prData; while(bP < eodP) {idType = *bP++; if (!XrdOucPup::Unpack(&bP, eodP, &idP, idSz) || !idP || *idP == 0)