179 |
|
di_node_t root_node; |
180 |
|
di_node_t node; |
181 |
|
di_minor_t minor = DI_MINOR_NIL; |
182 |
< |
char tmpnode[MAXPATHLEN]; |
182 |
> |
char tmpnode[MAXPATHLEN + 1]; |
183 |
|
char *phys_path; |
184 |
|
char *minor_name; |
185 |
|
char *value; |
193 |
|
instance = di_instance(node); |
194 |
|
phys_path = di_devfs_path(node); |
195 |
|
minor_name = di_minor_name(minor); |
196 |
< |
strcpy(tmpnode, alias); |
196 |
> |
sg_strlcpy(tmpnode, alias, MAXPATHLEN); |
197 |
|
sprintf(tmpnode, "%s%d", tmpnode, instance); |
198 |
|
sg_strlcpy(file, "/devices", sizeof file); |
199 |
|
sg_strlcat(file, phys_path, sizeof file); |
333 |
|
} |
334 |
|
#endif |
335 |
|
|
336 |
< |
/* $OpenBSD: strlcpy.c,v 1.8 2003/06/17 21:56:24 millert Exp $ */ |
336 |
> |
/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ |
337 |
|
|
338 |
|
/* |
339 |
|
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> |
357 |
|
* Returns strlen(src); if retval >= siz, truncation occurred. |
358 |
|
*/ |
359 |
|
size_t sg_strlcpy(char *dst, const char *src, size_t siz){ |
360 |
< |
register char *d = dst; |
361 |
< |
register const char *s = src; |
362 |
< |
register size_t n = siz; |
360 |
> |
char *d = dst; |
361 |
> |
const char *s = src; |
362 |
> |
size_t n = siz; |
363 |
|
|
364 |
|
/* Copy as many bytes as will fit */ |
365 |
< |
if (n != 0 && --n != 0) { |
366 |
< |
do { |
367 |
< |
if ((*d++ = *s++) == 0) |
365 |
> |
if (n != 0) { |
366 |
> |
while (--n != 0) { |
367 |
> |
if ((*d++ = *s++) == '\0') |
368 |
|
break; |
369 |
< |
} while (--n != 0); |
369 |
> |
} |
370 |
|
} |
371 |
|
|
372 |
|
/* Not enough room in dst, add NUL and traverse rest of src */ |
380 |
|
return(s - src - 1); /* count does not include NUL */ |
381 |
|
} |
382 |
|
|
383 |
< |
/* $OpenBSD: strlcat.c,v 1.11 2003/06/17 21:56:24 millert Exp $ */ |
383 |
> |
/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ |
384 |
|
|
385 |
|
/* |
386 |
|
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> |
406 |
|
* If retval >= siz, truncation occurred. |
407 |
|
*/ |
408 |
|
size_t sg_strlcat(char *dst, const char *src, size_t siz){ |
409 |
< |
register char *d = dst; |
410 |
< |
register const char *s = src; |
411 |
< |
register size_t n = siz; |
409 |
> |
char *d = dst; |
410 |
> |
const char *s = src; |
411 |
> |
size_t n = siz; |
412 |
|
size_t dlen; |
413 |
|
|
414 |
|
/* Find the end of dst and adjust bytes left but don't go past end */ |
446 |
|
return -1; |
447 |
|
} |
448 |
|
|
449 |
< |
strcpy(new, src); |
449 |
> |
sg_strlcpy(new, src, strlen(src) + 1); |
450 |
|
*dest = new; |
451 |
|
return 0; |
452 |
|
} |
462 |
|
} |
463 |
|
|
464 |
|
*dest = new; |
465 |
< |
strcat(*dest, src); |
465 |
> |
sg_strlcat(*dest, src, len); |
466 |
|
return 0; |
467 |
|
} |
468 |
|
|