180:
59:
in its final valid index so that using it in other library functions will not result in undefined behavior. Independent security researchers have noted that security issues are still possible with the functions from strsafe.h if they are not passed the correct buffer length. The use of this library
55:. The strsafe functions require the length of the string in either characters or bytes as a parameter and if an operation would exceed the length of the destination buffer, the operation fails and the string is still terminated with a
240:
221:
250:
245:
131:
106:
214:
23:
starting with
Windows XP Service Pack 2 that provides safer buffer handling than that which is provided by the standard
148:
165:
80:
207:
187:
39:
The functions included in strsafe.h replace standard C string handling and I/O functions including
127:
102:
24:
191:
56:
28:
234:
20:
179:
60:
is recommended by the United States
Department of Homeland Security.
124:
Foundations of
Security: What Every Programmer Needs To Know
27:, which are widely known to have security issues involving
195:
122:Daswani, Neil; Kern, Christopher; Kesavan, Anita.
19:is a non-standard C header file provided with the
215:
8:
241:Microsoft application programming interfaces
222:
208:
92:
90:
97:Richter, Jeffrey; Nasarre, Christophe.
75:
73:
69:
7:
176:
174:
101:. Microsoft Press. pp. 11–32.
194:. You can help Knowledge (XXG) by
14:
126:. Apress Media LLC. p. 121.
178:
166:StrSafe.h documentation on MSDN
149:"Strsafe.h | Build Security In"
99:Windows via C/C++ Fifth Edition
1:
81:"About Strsafe.h (Windows)"
267:
251:Computer programming stubs
173:
31:when not used correctly.
246:C (programming language)
190:-related article is a
188:computer-programming
25:C string functions
203:
202:
147:Plakosh, Daniel.
258:
224:
217:
210:
182:
175:
153:
152:
144:
138:
137:
119:
113:
112:
94:
85:
84:
77:
54:
50:
46:
42:
266:
265:
261:
260:
259:
257:
256:
255:
231:
230:
229:
228:
171:
162:
157:
156:
146:
145:
141:
134:
121:
120:
116:
109:
96:
95:
88:
79:
78:
71:
66:
52:
48:
44:
40:
37:
29:buffer overruns
12:
11:
5:
264:
262:
254:
253:
248:
243:
233:
232:
227:
226:
219:
212:
204:
201:
200:
183:
169:
168:
161:
160:External links
158:
155:
154:
139:
132:
114:
107:
86:
68:
67:
65:
62:
36:
33:
13:
10:
9:
6:
4:
3:
2:
263:
252:
249:
247:
244:
242:
239:
238:
236:
225:
220:
218:
213:
211:
206:
205:
199:
197:
193:
189:
184:
181:
177:
172:
167:
164:
163:
159:
150:
143:
140:
135:
133:9781590597842
129:
125:
118:
115:
110:
108:9780735663770
104:
100:
93:
91:
87:
82:
76:
74:
70:
63:
61:
58:
34:
32:
30:
26:
22:
18:
196:expanding it
185:
170:
142:
123:
117:
98:
38:
16:
15:
35:Description
21:Windows SDK
235:Categories
64:References
17:strsafe.h
130:
105:
53:strcat
49:strcpy
45:strlen
41:printf
186:This
192:stub
128:ISBN
103:ISBN
57:null
51:and
237::
89:^
72:^
47:,
43:,
223:e
216:t
209:v
198:.
151:.
136:.
111:.
83:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.