glibc/include
Stefan Liebler 4b2e40a925 Handle out-of-memory case in svc_tcp.c/svc_unix.c:rendezvous_request.
If glibc is build with -O3 on at least 390 (-m31) or x86 (-m32),
gcc 11 dumps this warning:
svc_tcp.c: In function 'rendezvous_request':
svc_tcp.c:274:3: error: 'memcpy' offset [0, 15] is out of the bounds [0, 0] [-Werror=array-bounds]
  274 |   memcpy (&xprt->xp_raddr, &addr, sizeof (addr));
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

In out-of-memory case, if one of the mallocs in makefd_xprt function
returns NULL, a message is dumped, makefd_xprt returns NULL
and the subsequent memcpy would copy to NULL.

Instead of a segfaulting, we delay a bit (see also __svc_accept_failed
and Bug 14889 (CVE-2011-4609) - svc_run() produces high cpu usage when
accept() fails with EMFILE (CVE-2011-4609).

The same applies to svc_unix.c.
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2020-12-10 11:11:20 +01:00
..
arpa
bits time: Add 64-bit time_t support for ftime 2020-10-27 09:54:50 -03:00
gnu
net
netinet nss_files: Consolidate line parse declarations in <nss_files.h> 2020-07-21 07:33:20 +02:00
programs
protocols
rpc Handle out-of-memory case in svc_tcp.c/svc_unix.c:rendezvous_request. 2020-12-10 11:11:20 +01:00
rpcsvc Remove --enable-obsolete-nsl configure flag 2020-07-08 17:25:57 +02:00
sys hurd: Move {,f,l}xstat{,at} and xmknod{at} to compat symbols 2020-11-11 23:56:56 +00:00
aio.h y2038: Convert aio_suspend to support 64 bit time 2020-11-30 14:08:44 +01:00
aliases.h Remove --enable-obsolete-nsl configure flag 2020-07-08 17:25:57 +02:00
alloc_buffer.h
alloca.h
allocate_once.h
ar.h
argp-fmtstream.h
argp.h
argz.h
array_length.h
assert.h
atomic.h
byteswap.h
complex.h
cpio.h
crypt.h
ctype.h
des.h
dirent.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
dlfcn.h Remove --enable-obsolete-nsl configure flag 2020-07-08 17:25:57 +02:00
dso_handle.h
elf.h
endian.h
envz.h
err.h
errno.h Remove tls.h inclusion from internal errno.h 2020-11-13 12:59:19 -03:00
error.h
execinfo.h
fcntl.h
features.h Prepare for glibc 2.32 release. 2020-08-04 22:17:00 -04:00
fenv.h
file_change_detection.h
float.h
fmtmsg.h
fnmatch.h
fpu_control.h
fstab.h
fts.h
ftw.h
gconv.h
getopt.h
getopt_int.h
glob.h
gmp.h
gnu-versions.h
grp-merge.h
grp.h nss_files: Consolidate line parse declarations in <nss_files.h> 2020-07-21 07:33:20 +02:00
gshadow.h nss_files: Consolidate line parse declarations in <nss_files.h> 2020-07-21 07:33:20 +02:00
iconv.h
ifaddrs.h
ifreq.h
ifunc-impl-list.h
inline-hashtab.h
intprops.h Sync intprops.h from Gnulib 2020-08-04 22:58:58 -07:00
inttypes.h Make strtoimax, strtoumax, wcstoimax, wcstoumax into aliases 2020-12-08 18:15:27 +00:00
langinfo.h
lastlog.h
libc-diag.h
libc-internal.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
libc-pointer-arith.h
libc-symbols.h symbols: Add defines for libanl's libanl_hidden_{def|proto} 2020-12-04 10:04:38 +01:00
libgen.h
libintl.h
limits.h Add C2x BOOL_MAX and BOOL_WIDTH to limits.h. 2020-08-19 22:46:41 +00:00
link.h elf: Make __rtld_env_path_list and __rtld_search_dirs global variables 2020-10-08 17:12:28 +02:00
list.h
list_t.h
locale.h
loop_unroll.h
malloc.h
math-narrow-eval.h
math.h
mcheck.h
memory.h
mntent.h
monetary.h
mqueue.h
netdb.h y2038: Convert gai_suspend to support 64 bit time 2020-12-04 10:04:38 +01:00
netgroup.h
nl_types.h
nss.h
nss_files.h nss: Add __nss_fgetent_r 2020-07-21 07:33:50 +02:00
nsswitch.h
obstack.h
plural-exp.h
poll.h
printf.h
pthread.h
pty.h
pwd.h nss_files: Consolidate line parse declarations in <nss_files.h> 2020-07-21 07:33:20 +02:00
random-bits.h
re_comp.h
regex.h
regexp.h
resolv.h
rounding-mode.h
rtld-malloc.h elf: Implement __rtld_malloc_is_complete 2020-10-08 11:00:42 +02:00
sched.h
scratch_buffer.h
search.h
set-hooks.h
setjmp.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
sgtty.h
shadow.h nss_files: Consolidate line parse declarations in <nss_files.h> 2020-07-21 07:33:20 +02:00
shlib-compat.h Remove --enable-obsolete-rpc configure flag 2020-07-13 19:36:35 +02:00
signal.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
spawn.h
stab.h
stackinfo.h
stap-probe.h
stdc-predef.h
stdint.h
stdio.h libio: Remove __libc_readline_unlocked 2020-07-21 07:34:50 +02:00
stdio_ext.h
stdlib.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
string.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
strings.h
struct___timeb64.h time: Add 64-bit time_t support for ftime 2020-10-27 09:54:50 -03:00
struct___timespec64.h
struct___timeval64.h
stubs-prologue.h
syscall.h
sysexits.h
syslog.h
tar.h
termios.h
tgmath.h
time.h y2038: linux: Provide __time64 implementation 2020-10-19 16:01:37 +02:00
ttyent.h
uchar.h
ucontext.h
ulimit.h
unistd.h hurd: keep only required PLTs in ld.so 2020-11-11 02:36:22 +01:00
utime.h
utmp.h
values.h
verify.h
wait.h
wchar.h
wctype.h
wordexp.h