View | Details | Raw Unified | Return to bug 169800
Collapse All | Expand All

(-)lib/libc/gen/getcap.c (-2 / +2 lines)
Lines 654-660 Link Here
654
	if (dbp == NULL)
654
	if (dbp == NULL)
655
		dbp = db_array;
655
		dbp = db_array;
656
656
657
	if (pfp == NULL && (pfp = fopen(*dbp, "r")) == NULL) {
657
	if (pfp == NULL && (pfp = fopen(*dbp, "re")) == NULL) {
658
		(void)cgetclose();
658
		(void)cgetclose();
659
		return (-1);
659
		return (-1);
660
	}
660
	}
Lines 679-685 Link Here
679
						(void)cgetclose();
679
						(void)cgetclose();
680
						return (0);
680
						return (0);
681
					} else if ((pfp =
681
					} else if ((pfp =
682
					    fopen(*dbp, "r")) == NULL) {
682
						  fopen(*dbp, "re")) == NULL) {
683
						(void)cgetclose();
683
						(void)cgetclose();
684
						return (-1);
684
						return (-1);
685
					} else
685
					} else
(-)lib/libc/gen/getttyent.c (-1 / +1 lines)
Lines 211-217 Link Here
211
	if (tf) {
211
	if (tf) {
212
		rewind(tf);
212
		rewind(tf);
213
		return (1);
213
		return (1);
214
	} else if ( (tf = fopen(_PATH_TTYS, "r")) )
214
	} else if ( (tf = fopen(_PATH_TTYS, "re")) )
215
		return (1);
215
		return (1);
216
	return (0);
216
	return (0);
217
}
217
}
(-)lib/libc/gen/getusershell.c (-1 / +1 lines)
Lines 121-127 Link Here
121
		sl_free(sl, 1);
121
		sl_free(sl, 1);
122
	sl = sl_init();
122
	sl = sl_init();
123
123
124
	if ((fp = fopen(_PATH_SHELLS, "r")) == NULL)
124
	if ((fp = fopen(_PATH_SHELLS, "re")) == NULL)
125
		return NS_UNAVAIL;
125
		return NS_UNAVAIL;
126
126
127
	cp = line;
127
	cp = line;
(-)lib/libc/gen/getutxent.c (-1 / +1 lines)
Lines 66-72 Link Here
66
66
67
	if (uf != NULL)
67
	if (uf != NULL)
68
		fclose(uf);
68
		fclose(uf);
69
	uf = fopen(file, "r");
69
	uf = fopen(file, "re");
70
	if (uf == NULL)
70
	if (uf == NULL)
71
		return (-1);
71
		return (-1);
72
72
(-)cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c (-2 / +12 lines)
Lines 1061-1073 Link Here
1061
	 */
1061
	 */
1062
	dt_provmod_open(&provmod, &df);
1062
	dt_provmod_open(&provmod, &df);
1063
1063
1064
	dtfd = open("/dev/dtrace/dtrace", O_RDWR);
1064
/*
1065
 *  In case it is not defined, we define it temporarily to harmless 0.
1066
 */
1067
#if !defined(O_CLOEXEC)
1068
#  define O_CLOEXEC	0
1069
#endif
1070
1071
	dtfd = open("/dev/dtrace/dtrace", O_RDWR | O_CLOEXEC);
1065
	err = errno; /* save errno from opening dtfd */
1072
	err = errno; /* save errno from opening dtfd */
1066
1073
1067
#if defined(sun)
1074
#if defined(sun)
1068
	ftfd = open("/dev/dtrace/provider/fasttrap", O_RDWR);
1075
	ftfd = open("/dev/dtrace/provider/fasttrap", O_RDWR);
1069
#else
1076
#else
1070
	ftfd = open("/dev/dtrace/fasttrap", O_RDWR);
1077
	ftfd = open("/dev/dtrace/fasttrap", O_RDWR | O_CLOEXEC);
1071
#endif
1078
#endif
1072
	fterr = ftfd == -1 ? errno : 0; /* save errno from open ftfd */
1079
	fterr = ftfd == -1 ? errno : 0; /* save errno from open ftfd */
1073
1080
Lines 1097-1104 Link Here
1097
		return (set_open_errno(dtp, errp, err));
1104
		return (set_open_errno(dtp, errp, err));
1098
	}
1105
	}
1099
1106
1107
#if (O_CLOEXEC == 0)
1100
	(void) fcntl(dtfd, F_SETFD, FD_CLOEXEC);
1108
	(void) fcntl(dtfd, F_SETFD, FD_CLOEXEC);
1101
	(void) fcntl(ftfd, F_SETFD, FD_CLOEXEC);
1109
	(void) fcntl(ftfd, F_SETFD, FD_CLOEXEC);
1110
#  undef O_CLOEXEC
1111
#endif
1102
1112
1103
alloc:
1113
alloc:
1104
	if ((dtp = malloc(sizeof (dtrace_hdl_t))) == NULL)
1114
	if ((dtp = malloc(sizeof (dtrace_hdl_t))) == NULL)
(-)lib/libfetch/file.c (-5 / +3 lines)
Lines 48-54 Link Here
48
	if (us && fetchStatFile(u, us, flags) == -1)
48
	if (us && fetchStatFile(u, us, flags) == -1)
49
		return (NULL);
49
		return (NULL);
50
50
51
	f = fopen(u->doc, "r");
51
	f = fopen(u->doc, "re");
52
52
53
	if (f == NULL)
53
	if (f == NULL)
54
		fetch_syserr();
54
		fetch_syserr();
Lines 58-64 Link Here
58
		fetch_syserr();
58
		fetch_syserr();
59
	}
59
	}
60
60
61
	fcntl(fileno(f), F_SETFD, FD_CLOEXEC);
62
	return (f);
61
	return (f);
63
}
62
}
64
63
Lines 74-82 Link Here
74
	FILE *f;
73
	FILE *f;
75
74
76
	if (CHECK_FLAG('a'))
75
	if (CHECK_FLAG('a'))
77
		f = fopen(u->doc, "a");
76
		f = fopen(u->doc, "ae");
78
	else
77
	else
79
		f = fopen(u->doc, "w+");
78
		f = fopen(u->doc, "w+e");
80
79
81
	if (f == NULL)
80
	if (f == NULL)
82
		fetch_syserr();
81
		fetch_syserr();
Lines 86-92 Link Here
86
		fetch_syserr();
85
		fetch_syserr();
87
	}
86
	}
88
87
89
	fcntl(fileno(f), F_SETFD, FD_CLOEXEC);
90
	return (f);
88
	return (f);
91
}
89
}
92
90
(-)lib/libkvm/kvm.c (-16 / +9 lines)
Lines 166-172 Link Here
166
	if (mf == 0)
166
	if (mf == 0)
167
		mf = _PATH_MEM;
167
		mf = _PATH_MEM;
168
168
169
	if ((kd->pmfd = open(mf, flag, 0)) < 0) {
169
	if ((kd->pmfd = open(mf, (flag | O_CLOEXEC), 0)) < 0) {
170
		_kvm_syserr(kd, kd->program, "%s", mf);
170
		_kvm_syserr(kd, kd->program, "%s", mf);
171
		goto failed;
171
		goto failed;
172
	}
172
	}
Lines 179-188 Link Here
179
		_kvm_syserr(kd, kd->program, "empty file");
179
		_kvm_syserr(kd, kd->program, "empty file");
180
		goto failed;
180
		goto failed;
181
	}
181
	}
182
	if (fcntl(kd->pmfd, F_SETFD, FD_CLOEXEC) < 0) {
182
183
		_kvm_syserr(kd, kd->program, "%s", mf);
184
		goto failed;
185
	}
186
	if (S_ISCHR(st.st_mode)) {
183
	if (S_ISCHR(st.st_mode)) {
187
		/*
184
		/*
188
		 * If this is a character special device, then check that
185
		 * If this is a character special device, then check that
Lines 191-207 Link Here
191
		 * case you're working with a live kernel.)
188
		 * case you're working with a live kernel.)
192
		 */
189
		 */
193
		if (strcmp(mf, _PATH_DEVNULL) == 0) {
190
		if (strcmp(mf, _PATH_DEVNULL) == 0) {
194
			kd->vmfd = open(_PATH_DEVNULL, O_RDONLY);
191
			kd->vmfd = open(_PATH_DEVNULL,
192
					(O_RDONLY | O_CLOEXEC));
195
			return (kd);
193
			return (kd);
196
		} else if (strcmp(mf, _PATH_MEM) == 0) {
194
		} else if (strcmp(mf, _PATH_MEM) == 0) {
197
			if ((kd->vmfd = open(_PATH_KMEM, flag)) < 0) {
195
			if ((kd->vmfd = open(_PATH_KMEM, 
198
				_kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
196
					     (flag | O_CLOEXEC))) < 0) {
199
				goto failed;
200
			}
201
			if (fcntl(kd->vmfd, F_SETFD, FD_CLOEXEC) < 0) {
202
				_kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
197
				_kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
203
				goto failed;
198
				goto failed;
204
			}
199
			}
200
205
			return (kd);
201
			return (kd);
206
		}
202
		}
207
	}
203
	}
Lines 210-223 Link Here
210
	 * Initialize the virtual address translation machinery,
206
	 * Initialize the virtual address translation machinery,
211
	 * but first setup the namelist fd.
207
	 * but first setup the namelist fd.
212
	 */
208
	 */
213
	if ((kd->nlfd = open(uf, O_RDONLY, 0)) < 0) {
209
	if ((kd->nlfd = open(uf, (O_RDONLY | O_CLOEXEC), 0)) < 0) {
214
		_kvm_syserr(kd, kd->program, "%s", uf);
215
		goto failed;
216
	}
217
	if (fcntl(kd->nlfd, F_SETFD, FD_CLOEXEC) < 0) {
218
		_kvm_syserr(kd, kd->program, "%s", uf);
210
		_kvm_syserr(kd, kd->program, "%s", uf);
219
		goto failed;
211
		goto failed;
220
	}
212
	}
213
221
	if (strncmp(mf, _PATH_FWMEM, strlen(_PATH_FWMEM)) == 0)
214
	if (strncmp(mf, _PATH_FWMEM, strlen(_PATH_FWMEM)) == 0)
222
		kd->rawdump = 1;
215
		kd->rawdump = 1;
223
	if (_kvm_initvtop(kd) < 0)
216
	if (_kvm_initvtop(kd) < 0)

Return to bug 169800