 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" $NetBSD: setproctitle.3,v 1.18 2003/07/26 19:24:44 salo Exp $
 | |
| .\"
 | |
| .\" Copyright (c) 1994, 1995 Christopher G. Demetriou
 | |
| .\" All rights reserved.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\" 3. All advertising materials mentioning features or use of this software
 | |
| .\"    must display the following acknowledgement:
 | |
| .\"          This product includes software developed for the
 | |
| .\"          NetBSD Project.  See http://www.NetBSD.org/ for
 | |
| .\"          information about NetBSD.
 | |
| .\" 4. The name of the author may not be used to endorse or promote products
 | |
| .\"    derived from this software without specific prior written permission.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 | |
| .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 | |
| .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 | |
| .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 | |
| .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 | |
| .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | |
| .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | |
| .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | |
| .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 | |
| .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| .\"
 | |
| .\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
 | |
| .\"
 | |
| .Dd April 13, 1994
 | |
| .Dt SETPROCTITLE 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm setproctitle
 | |
| .Nd set process title
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In stdlib.h
 | |
| .Ft void
 | |
| .Fn setproctitle "const char *fmt" "..."
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Fn setproctitle
 | |
| function sets the invoking process's title.
 | |
| The process title is set to the last component of the program
 | |
| name, followed by a colon and the formatted string specified
 | |
| by
 | |
| .Va fmt .
 | |
| If
 | |
| .Va fmt
 | |
| is
 | |
| .Dv NULL ,
 | |
| the colon and formatted string are omitted.
 | |
| The length of a process title is limited to 2048 bytes.
 | |
| .Sh EXAMPLES
 | |
| Set the process title to the program name, with no further information:
 | |
| .Bd -literal -offset indent
 | |
| setproctitle(NULL);
 | |
| .Ed
 | |
| .Pp
 | |
| Set the process title to the program name, an informational string,
 | |
| and the process id:
 | |
| .Bd -literal -offset indent
 | |
| setproctitle("foo! (%d)", getpid());
 | |
| .Ed
 | |
| .Sh SEE ALSO
 | |
| .Xr ps 1 ,
 | |
| .Xr w 1 ,
 | |
| .Xr getprogname 3 ,
 | |
| .Xr printf 3
 | |
| .Sh HISTORY
 | |
| The
 | |
| .Fn setproctitle
 | |
| function first appeared in
 | |
| .Nx 1.0 .
 | |
| .Sh CAVEATS
 | |
| It is important never to pass a string with user-supplied data as a
 | |
| format without using
 | |
| .Ql %s .
 | |
| An attacker can put format specifiers in the string to mangle your stack,
 | |
| leading to a possible security hole.
 | |
| This holds true even if you have built the string
 | |
| .Dq by hand
 | |
| using a function like
 | |
| .Fn snprintf ,
 | |
| as the resulting string may still contain user-supplied conversion specifiers
 | |
| for later interpolation by
 | |
| .Fn setproctitle .
 | |
| .Pp
 | |
| Always be sure to use the proper secure idiom:
 | |
| .Bd -literal -offset indent
 | |
| setproctitle("%s", string);
 | |
| .Ed
 |