From: Nicholas Nethercote Date: Tue, 10 Jun 2003 13:39:15 +0000 (+0000) Subject: Fixed stupid bugs in overlap detection. X-Git-Tag: svn/VALGRIND_2_0_0~111 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f294740f7a025bd14867c3402c99351d093e8a96;p=thirdparty%2Fvalgrind.git Fixed stupid bugs in overlap detection. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1673 --- diff --git a/memcheck/mc_replace_strmem.c b/memcheck/mc_replace_strmem.c index 7c52e94e33..bdb0bd0194 100644 --- a/memcheck/mc_replace_strmem.c +++ b/memcheck/mc_replace_strmem.c @@ -100,7 +100,7 @@ char* strcat ( char* dst, const char* src ) /* This is a bit redundant, I think; any overlap and the strcat will go forever... or until a seg fault occurs. */ - if (is_overlap(dst, src, (Addr)dst-(Addr)dst_orig+1)) + if (is_overlap(dst_orig, src_orig, (Addr)dst-(Addr)dst_orig+1)) complain2("strcat", dst_orig, src_orig); return dst_orig; @@ -118,7 +118,7 @@ char* strncat ( char* dst, const char* src, int n ) /* This checks for overlap after copying, unavoidable without pre-counting lengths... should be ok */ - if (is_overlap(dst, src, (Addr)dst-(Addr)dst_orig+1)) + if (is_overlap(dst_orig, src_orig, (Addr)dst-(Addr)dst_orig+1)) complain3("strncat", dst_orig, src_orig, n); return dst_orig; @@ -141,7 +141,7 @@ char* strcpy ( char* dst, const char* src ) /* This checks for overlap after copying, unavoidable without pre-counting length... should be ok */ - if (is_overlap(dst, src, (Addr)dst-(Addr)dst_orig+1)) + if (is_overlap(dst_orig, src_orig, (Addr)dst-(Addr)dst_orig+1)) complain2("strcpy", dst_orig, src_orig); return dst_orig;