From 61400aa08252dd1e068d18a9e7cf6895cb62bd08 Mon Sep 17 00:00:00 2001 From: Vladimir Lomov Date: Tue, 30 May 2017 10:26:08 +0800 Subject: [PATCH] Fixes for XrdXrootdJob and XrdCnsSsi * src/XrdXrootd/XrdXrootdJob.cc, src/XrdCns/XrdCnsSsi.cc: gcc 7.1+ complains about verClient() [XrdXrootdJob] (-Werror=array-bounds) and Updt() [XrdCnsSsi] (-Werror=nonnull), make it "happy". Signed-off-by: Vladimir Lomov --- src/XrdCns/XrdCnsSsi.cc | 3 ++- src/XrdXrootd/XrdXrootdJob.cc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/XrdCns/XrdCnsSsi.cc b/src/XrdCns/XrdCnsSsi.cc index f3f358f102d..f98518c89e5 100644 --- a/src/XrdCns/XrdCnsSsi.cc +++ b/src/XrdCns/XrdCnsSsi.cc @@ -60,7 +60,8 @@ struct XrdCnsSsiFRec { char Info[XrdCnsLogRec::FixDLen]; -void Updt(const char *nInfo) {strncpy(Info, nInfo, sizeof(Info));} +void Updt(const char *nInfo) { + if(nInfo != nullptr) strncpy(Info, nInfo, sizeof(Info));} XrdCnsSsiFRec(const char *Data) {if (!Data) Data = XrdCnsLogRec::iArg; strncpy(Info, Data, sizeof(Info)); diff --git a/src/XrdXrootd/XrdXrootdJob.cc b/src/XrdXrootd/XrdXrootdJob.cc index 9f7994ba5eb..3c4e4a59fd8 100644 --- a/src/XrdXrootd/XrdXrootdJob.cc +++ b/src/XrdXrootd/XrdXrootdJob.cc @@ -324,7 +324,7 @@ int XrdXrootdJob2Do::verClient(int dodel) for (i = 0; i < numClients; i++) if (!Client[i].Link->isInstance(Client[i].Inst)) {k = i; - for (j = i+1; j < numClients; j++,k++) Client[k] = Client[j]; + for (j = i+1; j < numClients && j < maxClients; j++,k++) Client[k] = Client[j]; numClients--; i--; }