Print

Print


  Branch: refs/heads/master
  Home:   https://github.com/xrootd/xrootd
  Commit: 6a493d7881d1e8df40d6f94bc93a668f92d8de9e
      https://github.com/xrootd/xrootd/commit/6a493d7881d1e8df40d6f94bc93a668f92d8de9e
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M src/XrdMacaroons/XrdMacaroonsAuthz.hh
    M src/XrdPosix/XrdPosixFile.hh
    M src/XrdPss/XrdPss.hh
    M src/XrdXrootd/XrdXrootdAioBuff.hh
    M src/XrdXrootd/XrdXrootdProtocol.hh

  Log Message:
  -----------
  Fix Clang -Winconsistent-missing-override warnings

Example warning:

In file included from .../XrdXrootdAioTask.cc:42:
src/XrdXrootd/XrdXrootdAioBuff.hh:51:25:
  warning: 'Recycle' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
virtual void            Recycle();
                        ^
src/XrdSfs/XrdSfsAio.hh:79:14: note: overridden virtual function is here
virtual void Recycle() = 0;


  Commit: 422b1230b72ac89ed63b490fb63dbb245363766b
      https://github.com/xrootd/xrootd/commit/422b1230b72ac89ed63b490fb63dbb245363766b
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M src/XrdXrootd/XrdXrootdProtocol.cc

  Log Message:
  -----------
  Fix Clang -Wbraced-scalar-init warning

 src/XrdXrootd/XrdXrootdProtocol.cc:1504:25:
   warning: braces around scalar initializer [-Wbraced-scalar-init]
    linkAioReq         = {0};


  Commit: d5bc44972c6d2dbfd865be11ea5be572fe6d78f7
      https://github.com/xrootd/xrootd/commit/d5bc44972c6d2dbfd865be11ea5be572fe6d78f7
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M src/XrdPosix/XrdPosixAdmin.cc

  Log Message:
  -----------
  [XrdPosix] Fix Clang -Wtautological-constant-out-of-range-compare warning

src/XrdPosix/XrdPosixAdmin.cc:71:10: warning: result of comparison of constant
32940614417338485 with expression of type 'unsigned int' is always false
[-Wtautological-constant-out-of-range-compare]

   if (i > std::numeric_limits<ptrdiff_t>::max() / sizeof(XrdCl::URL))
       ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here std::numeric_limits<ptrdiff_t>::max() / sizeof(XrdCl::URL) == 32940614417338485,
which is bigger than the largest unsigned int, therefore the
comparison will always be false. We need i to be able to hold large
enough values. Fixes 0dc292fbf63d25c6a9e000a2e66d7e3e0b8db735.


  Commit: 0a8ce19a9f03994ddc2ab3769e32e75e525df637
      https://github.com/xrootd/xrootd/commit/0a8ce19a9f03994ddc2ab3769e32e75e525df637
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M src/XrdSecgsi/XrdSecgsiGMAPFunDN.cc

  Log Message:
  -----------
  [XrdSecgsi] Fix Clang -Wfortify-source warning

src/XrdSecgsi/XrdSecgsiGMAPFunDN.cc:207:40: warning: 'sscanf' may overflow;
destination buffer in argument 3 has size 4096, but the corresponding specifier
may require size 4097 [-Wfortify-source]
         if (sscanf(l, "%4096s %256s", val, usr) >= 2) {
                                       ^


  Commit: 590a9fdac768888a45576478031e048b0bf97f46
      https://github.com/xrootd/xrootd/commit/590a9fdac768888a45576478031e048b0bf97f46
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M tests/XrdClTests/FileCopyTest.cc

  Log Message:
  -----------
  [Tests] Fix typo in FileCopy test

Caught by a warning in Clang:

tests/XrdClTests/FileCopyTest.cc:400:62: warning: variable 'st'
is uninitialized when used within its own initialization [-Wuninitialized]
    CPPUNIT_ASSERT_XRDST( status.status == XrdCl::stError && st.code == XrdCl::errNotFound );
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/XrdClTests/../common/CppUnitXrdHelpers.hh:36:28:
 note: expanded from macro 'CPPUNIT_ASSERT_XRDST'

  XrdCl::XRootDStatus st = x;


  Commit: a5941254a10264cbd7a35dd31306873d92bdaf82
      https://github.com/xrootd/xrootd/commit/a5941254a10264cbd7a35dd31306873d92bdaf82
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M tests/common/CppUnitXrdHelpers.hh

  Log Message:
  -----------
  [Tests] Change name of macro local variable to avoid clashes

The name st is used extensively throughout the code, so
using the same name here can cause shadowing problems or
hide typos like the one fixed in the previous commit.


  Commit: 0f9aa1ef888bb3589ee5f9cb297098d19954762c
      https://github.com/xrootd/xrootd/commit/0f9aa1ef888bb3589ee5f9cb297098d19954762c
  Author: Guilherme Amadio <[log in to unmask]>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M src/XrdPosix/XrdPosixPreload.cc
    M src/XrdPosix/XrdPosixPreload32.cc

  Log Message:
  -----------
  [XrdPosix] Fix build with Clang and _FORTIFY_SOURCE enabled

Some of the checks added by defining _FORTIFY_SOURCE break the
build with clang with errors like the one shown below. See the
manual page for feature_test_macros(7) for more information.

xrootd/src/XrdPosix/XrdPosixPreload32.cc:375:9:
  error: redefinition of a 'extern inline' function 'pread' is not supported in C++
ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset)
        ^
/usr/include/bits/unistd.h:72:1: note: previous definition is here
pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
^

Since distributions enable _FORTIFY_SOURCE by default, it's better
to disable it for the XrdPosix plugin when using clang. Builds with
GCC are not affected by this problem.

Fixes #1975.


Compare: https://github.com/xrootd/xrootd/compare/51c0f5be0754...0f9aa1ef888b

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1