freebsd-src/sys/kern
Archie Cobbs 2127f26023 Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
..
bus_if.m My changes to the new device interface: 1998-11-14 21:58:51 +00:00
device_if.m My changes to the new device interface: 1998-11-14 21:58:51 +00:00
imgact_aout.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
imgact_elf.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
imgact_gzip.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
imgact_shell.c *gulp*. Jordan specifically OK'ed this.. 1998-10-16 03:55:01 +00:00
inflate.c kzipboot uses kern/inflate.c outside the kernel by providing its own 1998-11-10 09:08:49 +00:00
init_main.c Fix sysinit_add(). 1998-10-15 17:09:19 +00:00
init_sysent.c regenerate (+kldsym) 1998-11-11 12:57:05 +00:00
kern_acct.c Moved limit frobbing (and the resulting limcopy()) that occurs for 1998-06-05 21:44:20 +00:00
kern_clock.c Make the previous behaviour the default, add a sysctl which you 1998-11-29 20:31:02 +00:00
kern_conf.c My changes to the new device interface: 1998-11-14 21:58:51 +00:00
kern_descrip.c I got another batch of suggestions for cosmetic changes from bde. 1998-11-11 10:56:07 +00:00
kern_environment.c Don't try to initialise the environment out of a sysinit, it's handled 1998-10-09 21:21:34 +00:00
kern_exec.c Added a second argument, "activate" to the vm_page_unwire() call so that 1998-10-28 13:37:02 +00:00
kern_exit.c Installed the second patch attached to kern/7899 with some changes suggested 1998-11-11 10:04:13 +00:00
kern_fork.c If the session leader dies, s_leader is set to NULL and getsid() may 1998-11-09 15:08:04 +00:00
kern_intr.c add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
kern_ktrace.c add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
kern_linker.c kldsym(2) prototype implementation 1998-11-11 13:04:40 +00:00
kern_lkm.c Register and unregister vnodeops the new way rather than leaking on 1998-11-10 09:12:40 +00:00
kern_lock.c Staticize. 1998-11-26 18:50:24 +00:00
kern_lockf.c add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
kern_malloc.c Have MALLOC_DECLARE() initialize malloc types explicitly, and have them 1998-11-10 08:46:24 +00:00
kern_mib.c - hw.machine_arch returns cpu architecture type. 1998-08-31 08:41:58 +00:00
kern_module.c put a \n on an error message printf 1998-11-06 02:18:57 +00:00
kern_ntptime.c Introduce std_pps_ioctl() to automagically DTRT. 1998-06-13 09:30:26 +00:00
kern_physio.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_proc.c I got another batch of suggestions for cosmetic changes from bde. 1998-11-11 10:56:07 +00:00
kern_prot.c add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
kern_random.c Converted add_interrupt_randomness() to take a `void *' arg. Rewrote 1998-06-21 11:33:32 +00:00
kern_resource.c Fixed double counting of runtime after a process exits. The last 1998-07-27 19:16:21 +00:00
kern_shutdown.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
kern_sig.c Check return value of malloc() in expand_name. 1998-12-02 01:53:48 +00:00
kern_subr.c remove nonsense code. 1998-08-04 09:21:04 +00:00
kern_synch.c Compare p_cpulimit with RLIM_INFINITY before comparing it with the process 1998-11-27 11:44:22 +00:00
kern_sysctl.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
kern_tc.c Make the previous behaviour the default, add a sysctl which you 1998-11-29 20:31:02 +00:00
kern_threads.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_time.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
kern_timeout.c Fixed stale references to hzto() in comments. 1998-05-17 20:08:05 +00:00
kern_xxx.c Change various syscalls to use size_t arguments instead of u_int. 1998-08-24 08:39:39 +00:00
ksched.c 1. Add new defs for mins and maxs for the POSIX flavor priorities. They 1998-05-19 21:11:53 +00:00
link_aout.c The handle for the kernel is common. With this fix, ELF kernels can load 1998-11-04 15:20:58 +00:00
link_elf.c Don't put aggregate structs 4K large on the kernel stack, especially when 1998-11-06 15:16:07 +00:00
link_elf_obj.c Don't put aggregate structs 4K large on the kernel stack, especially when 1998-11-06 15:16:07 +00:00
Make.tags.inc Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
makedevops.pl "Here is the most recent version of makedevops.pl. I've made the parsing 1998-11-08 18:33:11 +00:00
makedevops.sh Use the interface name as well as the method name when creating the method 1998-10-15 09:50:45 +00:00
Makefile Remove bogus architectures to allow make tags to work. 1996-03-31 18:53:43 +00:00
makesyscalls.sh Add trailing newline to sys/syscall.mk so that diff doesn't choke on it. 1998-06-28 10:01:52 +00:00
md5c.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
p1003_1b.c Set PAGE_SIZE for _SC_PAGESIZE sysconf(). 1998-06-01 21:54:43 +00:00
posix4_mib.c Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and 1998-03-28 11:51:01 +00:00
subr_autoconf.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
subr_bus.c A couple of minor sanity checks. 1998-11-15 18:11:21 +00:00
subr_clist.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
subr_devstat.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
subr_disklabel.c Use only the correct raw partition for writing labels. Don't use the 1998-10-17 07:49:04 +00:00
subr_diskmbr.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
subr_diskslice.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
subr_dkbad.c In all such uses of struct buf: 's/b_un.b_addr/b_data/g' 1997-12-02 21:07:20 +00:00
subr_log.c I got another batch of suggestions for cosmetic changes from bde. 1998-11-11 10:56:07 +00:00
subr_module.c Align to sizeof(long) rather than sizeof(int32_t). It needs to be 1998-10-14 05:07:23 +00:00
subr_param.c Implemented zero-copy TCP/IP extensions via sendfile(2) - send a 1998-11-05 14:28:26 +00:00
subr_prf.c Add snprintf(3) and vsnprintf(3) capability to the kernel. 1998-12-03 04:45:57 +00:00
subr_prof.c Fixed bogotification of pseudocode for syscall args by rev.1.53 of 1998-09-05 14:30:11 +00:00
subr_rlist.c Move assignment of cur_rlp to after the acquisition of the list lock. 1998-08-05 14:06:04 +00:00
subr_rman.c Fixed a missing include. `SYSININT(...);' garbage in gave null garbage out. 1998-11-23 09:33:35 +00:00
subr_smp.c Attempt to handle interrupts delivered to all IO APICs by using the first 1998-11-26 23:14:23 +00:00
subr_trap.c - For some old Cyrix CPUs, %cr2 is clobbered by interrupts. This 1998-12-02 08:15:17 +00:00
subr_xxx.c * Fix a couple of places in the device pager where an address was 1998-11-08 12:39:07 +00:00
sys_generic.c Installed the second patch attached to kern/7899 with some changes suggested 1998-11-11 10:04:13 +00:00
sys_pipe.c Installed the second patch attached to kern/7899 with some changes suggested 1998-11-11 10:04:13 +00:00
sys_process.c Only access an int for READU/WRITEU since that is what ptrace is declared to 1998-07-29 18:41:30 +00:00
sys_socket.c Installed the second patch attached to kern/7899 with some changes suggested 1998-11-11 10:04:13 +00:00
syscalls.c regenerate (+kldsym) 1998-11-11 12:57:05 +00:00
syscalls.master A kldsym(2) syscall prototype for extracting information from the in-kernel 1998-11-11 12:45:14 +00:00
sysv_ipc.c Removed an unused #include. Added an unsed #include of <sys/ucred.h> 1997-11-18 12:52:10 +00:00
sysv_msg.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
sysv_sem.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
sysv_shm.c Fixed two potentially serious classes of bugs: 1998-10-13 08:24:45 +00:00
tty.c Fixed some missing cases in the check for ioctls that involve modification. 1998-11-22 09:04:09 +00:00
tty_compat.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_conf.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_cons.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
tty_pty.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
tty_snoop.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_subr.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
tty_tb.c Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tty_tty.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
uipc_domain.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
uipc_mbuf.c Only call m_reclaim() if M_WAIT since calling it from an interrupt can 1998-07-27 03:59:48 +00:00
uipc_proto.c Yow! Completely change the way socket options are handled, eliminating 1998-08-23 03:07:17 +00:00
uipc_sockbuf.c We can't call fsetown() from sonewconn() because sonewconn() is be called 1998-11-23 00:45:39 +00:00
uipc_socket.c Installed the second patch attached to kern/7899 with some changes suggested 1998-11-11 10:04:13 +00:00
uipc_socket2.c We can't call fsetown() from sonewconn() because sonewconn() is be called 1998-11-23 00:45:39 +00:00
uipc_syscalls.c Fixed broken code in sendfile(2) when using file offsets. 1998-12-03 12:35:47 +00:00
uipc_usrreq.c Nitpicking and dusting performed on a train. Removes trivial warnings 1998-10-25 17:44:59 +00:00
vfs_aio.c Don't forget to update the pmap associated with aio daemons when adding 1998-11-27 01:14:21 +00:00
vfs_bio.c Closed a very narrow and rare race condition that involved net interrupts, 1998-11-18 09:00:47 +00:00
vfs_cache.c Don't use CTL_VFS at the wrong level. This caused loops in the sysctl 1998-09-09 07:41:41 +00:00
vfs_cluster.c Because buffers may be tossed and recreated at will under the new VM 1998-11-17 00:31:12 +00:00
vfs_conf.c Remove the SLICE code. 1998-09-14 19:56:42 +00:00
vfs_default.c Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
vfs_export.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
vfs_extattr.c make mount(2) automatically kldload modules if the requested filesystem 1998-11-03 14:29:09 +00:00
vfs_init.c Fixed the type of vfs_modevent (a little late, to match the corresponding 1998-11-15 15:18:30 +00:00
vfs_lookup.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
vfs_mount.c Remove the SLICE code. 1998-09-14 19:56:42 +00:00
vfs_subr.c Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
vfs_syscalls.c make mount(2) automatically kldload modules if the requested filesystem 1998-11-03 14:29:09 +00:00
vfs_vnops.c Only do one VOP_ACCESS() per open() instead of two. This should reduce 1998-11-02 02:36:16 +00:00
vnode_if.pl Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
vnode_if.sh Make the vnode opv vector construction fully dynamic. Previously we 1998-11-10 09:04:09 +00:00
vnode_if.src Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to inform 1998-09-05 14:13:12 +00:00