From a45db08b92bac87d83890767c2216a8cbdf0a3f7 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Wed, 8 Feb 2017 04:14:26 +0000 Subject: string: Add __strcat_chk and __strncpy_chk --- string.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/string.c b/string.c index e50716a..9a1cb60 100644 --- a/string.c +++ b/string.c @@ -26,6 +26,22 @@ char *__strncat_chk(char *dest, const char *src, size_t n, size_t destlen) return strncat(dest, src, n); } +/* "Checked" strcat */ +char *__strcat_chk(char *dest, const char *src, size_t destlen) +{ + return strncat(dest, src, destlen - 1); +} + +/* "Checked" strncpy */ +char *__strncpy_chk(char *dest, const char *src, size_t n, size_t destlen) +{ + assert(dest != NULL); + assert(src != NULL); + assert(strlen(src) < destlen); + + return strncpy(dest, src, n); +} + /* "Checked" strcpy */ char *__strcpy_chk(char *dest, const char *src, size_t destlen) { -- cgit v1.2.3-60-g2f50