[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1075501: sendfile: ftbfs with GCC-14



Package: src:sendfile
Version: 2.1b.20080616-10
Severity: important
Tags: sid trixie
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-14

[This bug is targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/sendfile_2.1b.20080616-10_unstable_gccexp.log
The last lines of the build log are at the end of this report.

To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-14/porting_to.html

[...]
sendfiled.c:2733:30: warning: ‘/config/restrictions’ directive output may be truncated writing 20 bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
 2733 |   snprintf(MAXS(killfile),"%s/config/restrictions",userspool);
      |                              ^~~~~~~~~~~~~~~~~~~~
sendfiled.c:2733:3: note: ‘snprintf’ output between 21 and 4116 bytes into a destination of size 4095
 2733 |   snprintf(MAXS(killfile),"%s/config/restrictions",userspool);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sendfiled.c: In function ‘check_userspool’:
sendfiled.c:3962:32: warning: ‘/config’ directive output may be truncated writing 7 bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
 3962 |   snprintf(MAXS(userconfig),"%s/config",userspool);
      |                                ^~~~~~~
sendfiled.c:3962:3: note: ‘snprintf’ output between 8 and 4103 bytes into a destination of size 4095
 3962 |   snprintf(MAXS(userconfig),"%s/config",userspool);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sendfiled.c: In function ‘main’:
sendfiled.c:1737:49: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size between 4087 and 12277 [-Wformat-truncation=]
 1737 |           snprintf(MAXS(tmp),"cat %s/%s %s/%s | %s && rm -f %s/%s %s/%s",
      |                                                 ^~
......
 1740 |                    rpipe,
      |                    ~~~~~                         
sendfiled.c:1737:11: note: ‘snprintf’ output 24 or more bytes (assuming 20499) into a destination of size 12287
 1737 |           snprintf(MAXS(tmp),"cat %s/%s %s/%s | %s && rm -f %s/%s %s/%s",
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1738 |                    userspool,shfile,
      |                    ~~~~~~~~~~~~~~~~~
 1739 |                    userspool,sdfile,
      |                    ~~~~~~~~~~~~~~~~~
 1740 |                    rpipe,
      |                    ~~~~~~
 1741 |                    userspool,shfile,
      |                    ~~~~~~~~~~~~~~~~~
 1742 |                    userspool,sdfile);
      |                    ~~~~~~~~~~~~~~~~~
sendfiled.c:1041:37: warning: ‘@’ directive output may be truncated writing 1 byte into a region of size between 0 and 4095 [-Wformat-truncation=]
 1041 |         snprintf(MAXS(utfsender),"%s@%s %s",arg,peer,real);
      |                                     ^
sendfiled.c:1041:9: note: ‘snprintf’ output between 3 and 12280 bytes into a destination of size 4095
 1041 |         snprintf(MAXS(utfsender),"%s@%s %s",arg,peer,real);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sendfiled.c:949:48: warning: ‘/notify ’ directive output may be truncated writing 8 bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
  949 |                 snprintf(MAXS(notification),"%s/notify ",userconfig);
      |                                                ^~~~~~~~
sendfiled.c:949:17: note: ‘snprintf’ output between 9 and 4104 bytes into a destination of size 4095
  949 |                 snprintf(MAXS(notification),"%s/notify ",userconfig);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O2 -Wall -DLINUX -c peername.c
peername.c: In function ‘peername’:
peername.c:128:23: error: passing argument 2 of ‘getpeername’ from incompatible pointer type [-Wincompatible-pointer-types]
  128 |   if ((getpeername(fd,&addrbuf,&len)) < 0) return(defaultName);
      |                       ^~~~~~~~
      |                       |
      |                       char (*)[1024]
In file included from peername.c:41:
/usr/include/x86_64-linux-gnu/sys/socket.h:130:50: note: expected ‘struct sockaddr * restrict’ but argument is of type ‘char (*)[1024]’
  130 | extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
      |                                                  ^
peername.c:128:32: error: passing argument 3 of ‘getpeername’ from incompatible pointer type [-Wincompatible-pointer-types]
  128 |   if ((getpeername(fd,&addrbuf,&len)) < 0) return(defaultName);
      |                                ^~~~
      |                                |
      |                                size_t * {aka long unsigned int *}
/usr/include/x86_64-linux-gnu/sys/socket.h:131:47: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘size_t *’ {aka ‘long unsigned int *’}
  131 |                         socklen_t *__restrict __len) __THROW;
      |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~
make[2]: *** [Makefile:68: peername.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[1]: *** [Makefile:8: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:39: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2


Reply to: