diff options
| author | Kris Kennaway <kris@FreeBSD.org> | 2001-05-12 09:44:32 +0000 |
|---|---|---|
| committer | Kris Kennaway <kris@FreeBSD.org> | 2001-05-12 09:44:32 +0000 |
| commit | ff7543ca42f8a42b04545cb0c23f0fb3a00eced2 (patch) | |
| tree | 2efc26a86a7d1290139b83b1dfe102a8bcf83e71 /usr.sbin/pkg_install/lib | |
| parent | 87dc3f46be7f0fdc6d8196d41920724af0c08de5 (diff) | |
Notes
Diffstat (limited to 'usr.sbin/pkg_install/lib')
| -rw-r--r-- | usr.sbin/pkg_install/lib/lib.h | 2 | ||||
| -rw-r--r-- | usr.sbin/pkg_install/lib/str.c | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/usr.sbin/pkg_install/lib/lib.h b/usr.sbin/pkg_install/lib/lib.h index 3ab1b633ece2..841b7356f608 100644 --- a/usr.sbin/pkg_install/lib/lib.h +++ b/usr.sbin/pkg_install/lib/lib.h @@ -128,6 +128,8 @@ void str_lowercase(char *); char *basename_of(char *); char *strconcat(char *, char *); char *get_string(char *, int, FILE *); +int s_strlcpy(char *, const char *, size_t); +int s_strlcat(char *, const char *, size_t); /* File */ Boolean fexists(char *); diff --git a/usr.sbin/pkg_install/lib/str.c b/usr.sbin/pkg_install/lib/str.c index c5f11a290fc9..55ff78282d2a 100644 --- a/usr.sbin/pkg_install/lib/str.c +++ b/usr.sbin/pkg_install/lib/str.c @@ -61,6 +61,20 @@ get_dash_string(char **str) return *str; } +/* Do a strlcpy and test for overflow */ +int +s_strlcpy(char *dst, const char *src, size_t size) +{ + return (strlcpy(dst, src, size) >= size); +} + +/* Do a strlcat and test for overflow */ +int +s_strlcat(char *dst, const char *src, size_t size) +{ + return (strlcat(dst, src, size) >= size); +} + /* Rather Obvious */ char * copy_string(char *str) |
