]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add an implementation of strnlen for memcheck, from Tom Hughes.
authorJulian Seward <jseward@acm.org>
Mon, 22 Dec 2003 22:39:15 +0000 (22:39 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 22 Dec 2003 22:39:15 +0000 (22:39 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2146

coregrind/vg_symtab2.c
memcheck/mac_replace_strmem.c

index a6e6bc955cd55b69829e55348cc27971634f597c..393f8bdc53b9011ddb0963b5b34c4f0cab43e13d 100644 (file)
@@ -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");
index 8f7acd7d6902cffc6b51b8dfc3399031080465ac..e49fe9c1ddb47b941b8cd703023c44b387785e61 100644 (file)
@@ -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;