From: Julian Seward Date: Mon, 22 Dec 2003 22:39:15 +0000 (+0000) Subject: Add an implementation of strnlen for memcheck, from Tom Hughes. X-Git-Tag: svn/VALGRIND_2_1_1~156 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a3188f40fd8eb9c569bf78c432201d140f5b0bbe;p=thirdparty%2Fvalgrind.git Add an implementation of strnlen for memcheck, from Tom Hughes. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2146 --- diff --git a/coregrind/vg_symtab2.c b/coregrind/vg_symtab2.c index a6e6bc955c..393f8bdc53 100644 --- a/coregrind/vg_symtab2.c +++ b/coregrind/vg_symtab2.c @@ -2199,6 +2199,8 @@ void VG_(setup_code_redirect_table) ( void ) */ VG_(add_redirect_sym)("soname:libc.so.6", "stpcpy", "*vgpreload_memcheck.so*", "stpcpy"); + VG_(add_redirect_sym)("soname:libc.so.6", "strnlen", + "*vgpreload_memcheck.so*", "strnlen"); VG_(add_redirect_sym)("soname:ld-linux.so.2", "stpcpy", "*vgpreload_memcheck.so*", "stpcpy"); diff --git a/memcheck/mac_replace_strmem.c b/memcheck/mac_replace_strmem.c index 8f7acd7d69..e49fe9c1dd 100644 --- a/memcheck/mac_replace_strmem.c +++ b/memcheck/mac_replace_strmem.c @@ -176,6 +176,13 @@ char* strncat ( char* dst, const char* src, int n ) return dst_orig; } +unsigned int strnlen ( const char* str, unsigned int n ) +{ + UInt i = 0; + while (i < n && str[i] != 0) i++; + return i; +} + unsigned int strlen ( const char* str ) { UInt i = 0;