aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_install/lib
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2001-05-12 09:44:32 +0000
committerKris Kennaway <kris@FreeBSD.org>2001-05-12 09:44:32 +0000
commitff7543ca42f8a42b04545cb0c23f0fb3a00eced2 (patch)
tree2efc26a86a7d1290139b83b1dfe102a8bcf83e71 /usr.sbin/pkg_install/lib
parent87dc3f46be7f0fdc6d8196d41920724af0c08de5 (diff)
Notes
Diffstat (limited to 'usr.sbin/pkg_install/lib')
-rw-r--r--usr.sbin/pkg_install/lib/lib.h2
-rw-r--r--usr.sbin/pkg_install/lib/str.c14
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)