From 0f6dcfd8f3e3f1b5c4c118784798237bfe69e515 Mon Sep 17 00:00:00 2001 From: Brian Bockelman Date: Wed, 25 Jul 2018 16:05:49 -0500 Subject: [PATCH] Prevent double-parsing of parameters for ofs.ckslib. --- src/XrdOfs/XrdOfsConfigPI.cc | 6 +++--- src/XrdOfs/XrdOfsConfigPI.hh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/XrdOfs/XrdOfsConfigPI.cc b/src/XrdOfs/XrdOfsConfigPI.cc index 5a94f76fa20..c8fd4d9b743 100644 --- a/src/XrdOfs/XrdOfsConfigPI.cc +++ b/src/XrdOfs/XrdOfsConfigPI.cc @@ -280,7 +280,7 @@ bool XrdOfsConfigPI::Parse(TheLib what) if (CksConfig->ParseLib(*Config, libType)) return false; if (libType) cksLcl = libType == 1; - RepLib(theCksLib, CksConfig->ManLib(), nullParms); + RepLib(theCksLib, CksConfig->ManLib(), nullParms, false); return true; } Eroute->Emsg("Config", "Checksum version error!"); @@ -404,7 +404,7 @@ bool XrdOfsConfigPI::Plugin(XrdOss *&piP) /******************************************************************************/ bool XrdOfsConfigPI::RepLib(XrdOfsConfigPI::TheLib what, - const char *newLib, const char *newParms) + const char *newLib, const char *newParms, bool parseParms) { const char *parmP; char parms[2048]; @@ -427,7 +427,7 @@ bool XrdOfsConfigPI::RepLib(XrdOfsConfigPI::TheLib what, // if (newParms) parmP = (newParms == nullParms ? 0 : newParms); else {*parms = 0; parmP = parms; - if (!Config->GetRest(parms, sizeof(parms))) + if (parseParms && !Config->GetRest(parms, sizeof(parms))) {Eroute->Emsg("Config", drctv[xLib], "parameters too long"); return false; } diff --git a/src/XrdOfs/XrdOfsConfigPI.hh b/src/XrdOfs/XrdOfsConfigPI.hh index 10728b7c8fb..15f674dcf26 100644 --- a/src/XrdOfs/XrdOfsConfigPI.hh +++ b/src/XrdOfs/XrdOfsConfigPI.hh @@ -212,7 +212,7 @@ private: bool ParseAtrLib(); bool ParseOssLib(); -bool RepLib(TheLib what, const char *newLib, const char *newParms=0); +bool RepLib(TheLib what, const char *newLib, const char *newParms=0, bool parseParms=true); bool SetupAttr(TheLib what); bool SetupAuth(); bool SetupCms();