freebsd-skq/libexec/rtld-elf
Konstantin Belousov 360ba6bc13 Fix issues found by Coverity in the rtld-elf.c:gethints().
Check that the dirlist path string specification does not cause
overflow and is fully contained in the hints file.
Check that the dirlist string is nul-terminated.
Make 'hdr' static variable, so that hdr.dirlistlen is available when
hints cached value is used on next function calls.  Reset hdr.dirlistlen
to zero if error was detected, so that allocations use reasonable size.
Use 'hints', and not 'p' in the body, since p is only initialized on the
first call.

Reported and reviewed by:	truckman (previous version)
Sponsored by:	The FreeBSD Foundation
CIDs:	1006503, 1006504, 1006676, 1008488, 1007263
MFC after:	2 weeks
2016-05-25 18:10:44 +00:00
..
aarch64 Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and 2016-01-20 07:21:33 +00:00
amd64 Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and 2016-01-20 07:21:33 +00:00
arm rtld-elf: use NULL instead of zero for pointers. 2016-04-19 19:03:55 +00:00
i386 Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and 2016-01-20 07:21:33 +00:00
mips rtld-elf: use NULL instead of zero for pointers. 2016-04-19 19:03:55 +00:00
powerpc rtld-elf: use NULL instead of zero for pointers. 2016-04-19 19:03:55 +00:00
powerpc64 rtld-elf: use NULL instead of zero for pointers. 2016-04-19 19:03:55 +00:00
riscv Follow r293066 adding a generalized exec hook for RISC-V as well. 2016-01-23 11:46:52 +00:00
sparc64 Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and 2016-01-20 07:21:33 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
debug.c Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and 2016-01-20 07:21:33 +00:00
debug.h Remove historical GNUC test 2015-05-06 15:29:11 +00:00
libmap.c Rather than using the #define for path names, indirect through a char * 2015-10-31 04:39:55 +00:00
libmap.h Make the directory mapping functionality, which was previously only 2013-09-21 21:03:52 +00:00
Makefile MFH 2016-04-04 23:55:32 +00:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
malloc.c libexec: minor spelling fixes in comments. 2016-05-01 19:39:23 +00:00
map_object.c Fix handling of DT_TEXTREL for an object with more than one read-only 2016-03-02 16:36:24 +00:00
paths.h Convert casperd(8) daemon to the libcasper. 2016-02-25 18:23:40 +00:00
rtld_lock.c Change compiler setting to make default visibility of the symbols for 2015-03-29 18:53:21 +00:00
rtld_lock.h Change compiler setting to make default visibility of the symbols for 2015-03-29 18:53:21 +00:00
rtld_printf.c Add the LD_LIBRARY_PATH_FDS environmental variable. 2014-06-20 17:08:32 +00:00
rtld_printf.h Add the LD_LIBRARY_PATH_FDS environmental variable. 2014-06-20 17:08:32 +00:00
rtld_tls.h Change compiler setting to make default visibility of the symbols for 2015-03-29 18:53:21 +00:00
rtld.1 mdoc: remove superfluous paragraph macros. 2014-06-23 18:40:21 +00:00
rtld.c Fix issues found by Coverity in the rtld-elf.c:gethints(). 2016-05-25 18:10:44 +00:00
rtld.h Fix handling of DT_TEXTREL for an object with more than one read-only 2016-03-02 16:36:24 +00:00
Symbol.map Add rtld private interface for dso to detect dynamic loading 2015-01-03 18:09:53 +00:00
xmalloc.c Increase alignment to size of pointer if the alignment is too small. 2014-02-22 11:06:48 +00:00