File: mktemp.3

package info (click to toggle)
manpages-es 1.24a-6
  • links: PTS
  • area: main
  • in suites: potato
  • size: 4,256 kB
  • ctags: 7
  • sloc: makefile: 66; sh: 62
file content (84 lines) | stat: -rw-r--r-- 3,758 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
.\" Oye Emacs! este fichero es un fuente -*- nroff -*- .
.\"
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" Se autoriza hacer y distribuir copias literales de este manual siempre
.\" que el aviso de copyright y este aviso de autorizacin se preserven en
.\" todas las copias.
.\"
.\" Se autoriza copiar y distribuir versiones modificadas de este manual
.\" bajo las condiciones para copiar literalmente, siempre que todo el trabajo
.\" resultante sea distribuido bajo los trminos de un aviso de autorizacin
.\" idntico a ste.
.\"
.\" Ya que el kernel y las bibliotecas de Linux estn cambiando
.\" constantemente, esta pgina de manual puede ser incorrecta u obsoleta.
.\" El(Los) autor(es) no asumen ninguna responsabilidad de los errores u
.\" omisiones, o de los daos resultantes del uso de la informacin contenida
.\" aqu. El(Los) autor(es) pueden no haber tomado el mismo nivel de cuidado en
.\" la produccin de este manual, que es licenciado gratuitamente, como el que
.\" podran haber tomado trabajando profesionalmente.
.\"
.\" Las versiones procesadas o tratadas de este manual que no se acompaen
.\" con los fuentes deben reconocer el copyright y los autores de este trabajo.
.\"
.\" Referencias consultadas:
.\"     Cdigo fuente de la libc de Linux
.\"     Gua del Programador _POSIX de Lewine (O'Reilly & Associates, 1991)
.\"     pginas 'man' de 386BSD
.\" Modificado el Sbado 24 de Julio de 1993 a las 18:48:06 por Rik Faith (faith@cs.unc.edu)
.\" Modificado el Viernes 23 de Junio de 1995 a las 01:26:34 por Andries Brouwer (aeb@cwi.nl)
.\" (sugerido por Scott Burkett <scottb@IntNet.net>)
.\" Modificado el domingo 28 de marzo de 1999 por Andries Brouwer (aeb@cwi.nl)
.\" Traduccin revisada el martes 6 de abril de 1999 por
.\" 	Juan Piernas Cnovas <piernas@ditec.um.es>
.\"
.TH MKTEMP 3  "3 Abril 1993" "GNU" "Manual del Programador de Linux"
.SH NOMBRE
mktemp \- compone un nombre nico (no repetido) de fichero temporal
.SH SINOPSIS
.nf
.B #include <stdlib.h>
.sp
.BI "char *mktemp(char *" template );
.fi
.SH DESCRIPCIN
La funcin \fBmktemp()\fP genera un nombre de fichero temporal nico
a partir de \fItemplate\fP.  Los ltimos seis caracteres de \fItemplate\fP
deben ser XXXXXX y stos son reemplazados con una cadena que hace que el
nombre no est repetido. Ya que ser modificada,
.I template
no debe ser una cadena constante sino que debera declararse como un array
de caracteres.
.SH "VALOR DEVUELTO"
La funcin \fBmktemp()\fP devuelve NULL en caso de error (\fItemplate\fP no
terminaba en XXXXXX) y \fItemplate\fP en otro caso.
Si la llamada tuvo xito, los ltimos seis bytes de \fItemplate\fP habrn
sido modificados de tal manera que el nombre resultante es nico (no existe
ya). Si la llamada fracas, \fItemplate\fP se convierte en una cadena vaca.
.SH "ERRORES"
.TP
.B EINVAL
Los ltimos seis caracteres de \fItemplate\fP no eran XXXXXX.
.SH "CONFORME A"
BSD 4.3. POSIX indica/recomienda/obliga tmpnam().
.SH NOTA
El prototipo se encuentra en
.I <unistd.h>
para libc4, libc5 y glibc1; glibc2 sigue `the Single Unix Specification'
y tiene el prototipo en
.IR <stdlib.h> .
.SH FALLOS
Nunca use \fBmktemp()\fP. Algunas implementaciones siguen a BSD 4.3 y
reemplazan XXXXXX por el identificador del proceso actual y una nica letra,
por lo que, como mucho, se pueden devolver 26 nombres diferentes.
Ya que, por un lado, los nombres son fciles de adivinar y, por otro lado,
existe una condicin de carrera entre la comprobacin de si el nombre existe
y la apertura del fichero, cualquier uso de \fBmktemp()\fP es un riesgo para
la seguridad. La condicin de carrera es evitada por
.BR mkstemp (3).
.SH "VASE TAMBIN"
.BR mkstemp (3),
.BR tmpnam (3),
.BR tempnam (3),
.BR tmpfile (3)